По дате Июль 6th, 2010

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
удаляешь, и все работает…

Опубликовано Июль 6, 2010 | автор: levik  |  Нет комментариев »