Oscommerce: вывод лишних атрибутов товара в каталоге
В очередной раз порадовал OsCommerce - столкнулся с выводом лишних атрибутов товаров в листинге каталога. =)
В итоге выяснилось, что дело в том, что два модуля, которые работают по отдельности, могут влиять на работу друг друга. Особенность “модульности” магазинов на OsCommerce - как таковых “модулей” скорее нет. Есть файлик и куча инструкций к нему, какую строку и куда вставить… Это в лучшем случае.
Однако, тем не менее, магазин функциональный и довольно популярен… В частности, можно встретить множество сайтов на различных “сборках” OsCommerce. Именно в одной из таких сборок при выводе select-поля с атрибутами прямо в листинге товаров, появлялись “лишние” атрибуты (которых не было, например при просмотре карточки товара).
После непродолжительных поисков нашел, что всё из-за поля `attributes_hide_from_groups` таблицы `products_attributes`, которое не проверялось при формировании массива products_options_array для функции tep_draw_pull_down_menu();
$products_options_query = tep_db_query(”select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from ” . TABLE_PRODUCTS_ATTRIBUTES . ” pa, ” . TABLE_PRODUCTS_OPTIONS_VALUES . ” pov where pa.products_id = ‘” . $listing[$x][’products_id’] . “‘ and pa.options_id = ‘” . $products_options_name[’products_options_id’] . “‘ and pa.options_values_id = pov.products_options_values_id and pa.attributes_hide_from_groups<>’0′ and pov.language_id = ‘” . $languages_id . “‘”);
Ещё один “бонус” в копилку OsCommerce.
Oscommerce пропадают атрибуты при заказе.
Магазин на Oscommerce, часть товаров в заказе проходят без атрибутов, хотя в каталоге они указаны с обязательным выбором атрибутов. Все страницы, с которых можно их добавить в корзину содержат Select с атрибутами, который корректно добавляет товар в корзину.
http://oscomm.biz/index.php?showtopic=13009
Option Type Feature в shopping_cart.php на 103 и 122 строках добавлял к имени hidden поля зачем-то “+++”.$id
удаляешь, и все работает…
Метки: oscommerce