Список товаров в той же категории на странице описания товара, WebAsyst

Категория: WebAsyst| Веб-программирование

7 Авг 2011

В данной статье я расскажу как реализовать «Товары из той же категории» на странице описания продукта в 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
';}

Таким образом Вы получите список «товары в той же категории» на странице с описанием товара! ;)

Кстати, очень интересно:

Опубликовать в twitter.com Опубликовать в своем блоге livejournal.com Поделится ссылкой на yandex.ru

Комментариев к записи: 3

Алексей

11 Январь 2012 в 12:42 дп

Здравствуйте! Сделал все как здесь написано, и столкнулся с таким багом, у выводимых товаров одна и таже цена, отличная от указанной.

Евгений

7 Апрель 2012 в 12:50 пп

Решение не понравилось, нужно глубже копать. За труд все рабно спасибо!

Сергей

23 Март 2015 в 11:34 пп

Решение кривых цен – http://forum.webasyst.ru/viewtopic.php?id=5127

Написать комментарий

Вы должны Войти, чтобы оставить комментарий.

О блоге

Данный блог создан с целью помочь, как начинающему вебмастеру, так и опытному разработчику, в решении проблем возникающих при разработке сайтов. Здесь Вы прочитаете полезные статьи о том, как грамотно произвести SEO оптимизацию своего сайта, и найдёте важные исследования в сфере интернет-маркетинга. Научитесь писать собственные компоненты и модули для известных CMS, а также узнаете интересные методы работы с Фреймворками, CSS, HTML, jQuery и PHP. Из записей блога вы поймёте как грамотно разрабатывать макеты сайтов и что такое валидная вёрстка. БЛОГZOR – поможет Вам стать web-Гуру и понять тонкости веб-мастеринга.

Последние комментарии

  • Амир: форма появилась на сайте, но письмо не приходит на [...]
  • Ян: Все нравится, единственное, раскрывающийся блок мо [...]
  • СПАСИБО!: Спасибо тебе! Замечательная функция. очень помогла [...]
  • Алексей: Подскажите, а как заставить этот скрипт отработать [...]
  • Дмитрий: Заработало, надо было малость поменять путь в conf [...]

Можно Скачать