Полезные статьи о разработке сайтов от вебмастера
Категория:
В данной статье я расскажу как реализовать «Товары из той же категории» на странице описания продукта в WebAsyst Shop Script. Другими словами, нам необходимо, чтобы на странице товара выводилось еще 5 товаров в текущей категории, категории товар в которой мы просматриваем. Да и еще сделаем вывод списка случайным образом, так на мой взгляд будет куда лучше.
Итак начнём! Первым делом мы заходим в админку WebAsyst SC и там переходим на вкладку «Продукты->Списки» и создаем новый список. Пусть ID этого списка будет random_list. Дальше идём во вкладку «Дизайн», выбираем текущую тему и жмём «Редактировать«. Видим вкладки «Основная разметка«, «Витрина«, «Продукт», выбираем «Продукт» и переходим в режим редактирования HTML кода, для этого нажимаем «Редактировать HTML код«. Вставляете следующий код в том месте, где вы хотите выводить список товаров (обычно это самый низ):
{cpt_product_lists list_id='random_list' block_height=''}
Далее нам необходимо отредактировать файлы вывода списка, поэтому мы идём в файл published/SC/html/scripts/classes/class.productlist.php и находим в нём метод getProducts. Заменяем в методе строки:
$dbq = ' SELECT t1.*, t3.thumbnail FROM ?#PRODUCTS_TABLE t1 LEFT JOIN ?#TBL_PRODUCT_LIST_ITEM t2 ON t1.productID=t2.productID LEFT JOIN ?#PRODUCT_PICTURES t3 ON t1.default_picture=t3.photoID WHERE'.(is_null($enabled)?'':' t1.enabled='.intval($enabled).' AND t1.categoryID != 1 AND').' t2.list_id=? ORDER BY t2.priority ASC ';
на
if ($this->id == 'random_list' && isset ($_GET['productID'])){ $product_info = getProduct($_GET['productID']); $dbq = 'SELECT t1.*, t3.thumbnail FROM ?#PRODUCTS_TABLE t1 LEFT JOIN ?#PRODUCT_PICTURES t3 ON t1.default_picture=t3.photoID WHERE'.(is_null($enabled)? '':' t1.enabled='.intval($enabled).' AND t1.categoryID = '.$product_info['categoryID'].' ORDER BY RAND() LIMIT 5'); }else{ $dbq = ' SELECT t1.*, t3.thumbnail FROM ?#PRODUCTS_TABLE t1 LEFT JOIN ?#TBL_PRODUCT_LIST_ITEM t2 ON t1.productID=t2.productID LEFT JOIN ?#PRODUCT_PICTURES t3 ON t1.default_picture=t3.photoID WHERE'.(is_null($enabled)?'':' t1.enabled='.intval($enabled).' AND t1.categoryID != 1 AND').' t2.list_id=? ORDER BY t2.priority ASC ';}
Таким образом Вы получите список «товары в той же категории» на странице с описанием товара!
Кстати, очень интересно:
Данный блог создан с целью помочь, как начинающему вебмастеру, так и опытному разработчику, в решении проблем возникающих при разработке сайтов. Здесь Вы прочитаете полезные статьи о том, как грамотно произвести SEO оптимизацию своего сайта, и найдёте важные исследования в сфере интернет-маркетинга. Научитесь писать собственные компоненты и модули для известных CMS, а также узнаете интересные методы работы с Фреймворками, CSS, HTML, jQuery и PHP. Из записей блога вы поймёте как грамотно разрабатывать макеты сайтов и что такое валидная вёрстка. БЛОГZOR – поможет Вам стать web-Гуру и понять тонкости веб-мастеринга.
Комментариев к записи: 3
11 Январь 2012 в 12:42 дп
Здравствуйте! Сделал все как здесь написано, и столкнулся с таким багом, у выводимых товаров одна и таже цена, отличная от указанной.
7 Апрель 2012 в 12:50 пп
Решение не понравилось, нужно глубже копать. За труд все рабно спасибо!
Сергей
23 Март 2015 в 11:34 пп
Решение кривых цен –http://forum.webasyst.ru/viewtopic.php?id=5127