Появилось ли решение вывода похожих товаров из одной категории? На форуме нашел минимум две темы без решения.
Попробовал это решение, не работает.
Отправлено 04 February 2017 - 23:31
По мотивам темы попробуйте так
$select ->where('tCategoryItem.category_id = 42') ->leftJoin(ZOO_TABLE_CATEGORY_ITEM . ' AS tCategoryItem ON tCategoryItem.item_id = tItem.id');
вместо 42 используйте свое число - id категории
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
Отправлено 05 February 2017 - 04:55
По мотивам темы попробуйте так
$select ->where('tCategoryItem.category_id = 42') ->leftJoin(ZOO_TABLE_CATEGORY_ITEM . ' AS tCategoryItem ON tCategoryItem.item_id = tItem.id');вместо 42 используйте свое число - id категории
Так категория же будет меняться. Мне же нужно показывать похожие, но в рамках той же категории, а так я ограничу поиск только какой-то одной.
Для понимания: у меня каталог проектов домов: каркасных, рубленых, из оцилиндрованного бревна и деревянных бань. И показывать похожие проекты нужно в той же категории, в которой я сейчас нахожусь.
Отправлено 05 February 2017 - 22:25
В этом случае, можно взять категорию из объекта материала
$categoryId = $item->getPrimaryCategoryId();
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
Отправлено 06 February 2017 - 11:19
В этом случае, можно взять категорию из объекта материала
$categoryId = $item->getPrimaryCategoryId();
// create empty SQL query $select = $this->_getItemSelect(null, null, 0) ->clear('select') ->select('tItem.id AS id') ->where('tItem.id <> ?', $item->id); if (isset($data['e_itemcategory_s'])) { $select ->where('tCategoryItem.category_id IN (' . implode(',', $data['e_itemcategory_s']) . ')') ->leftJoin(ZOO_TABLE_CATEGORY_ITEM . ' AS tCategoryItem ON tCategoryItem.item_id = tItem.id'); }
Отправлено 08 February 2017 - 23:19
$categoryId = $item->getPrimaryCategoryId(); // create empty SQL query $select = $this->_getItemSelect(null, null, 0) ->clear('select') ->select('tItem.id AS id') ->where('tItem.id <> ?', $item->id); if ($categoryId) { $select ->where('tCategoryItem.category_id IN (' . implode(',', $categoryId) . ')') ->leftJoin(ZOO_TABLE_CATEGORY_ITEM . ' AS tCategoryItem ON tCategoryItem.item_id = tItem.id'); }
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.