Как вывести условие для определенной категории
Добрый день, Уважаемые участники сообщества!
Возник вопрос по выводу условия для определенной категории.
Есть стандартная схема добавления в популярные, в каждом товаре есть чекбокс — особый, новый или популярный.
У меня же эти параметры не используются, но используются категории популярные, новинки и распродажа.
К примеру один товар находится в двух категориях, игрушки для малышей и популярные.
Каким образом можно вывести маркер — Новинка или Популярное.
К примеру доп категория — Новинки имеет id 1782
Пробовал {if $category == '1782'}
Не выходит
Кто может помочь?
Возник вопрос по выводу условия для определенной категории.
Есть стандартная схема добавления в популярные, в каждом товаре есть чекбокс — особый, новый или популярный.
У меня же эти параметры не используются, но используются категории популярные, новинки и распродажа.
К примеру один товар находится в двух категориях, игрушки для малышей и популярные.
Каким образом можно вывести маркер — Новинка или Популярное.
К примеру доп категория — Новинки имеет id 1782
Пробовал {if $category == '1782'}
Не выходит
Кто может помочь?
Комментарии: 8
Попробуй $_modx->resource.parent
К сожалению не выходит(
Если кто может помочь не бесплатно — отпишитесь
К примеру один товар находится в двух категориях, игрушки для малышей и популярные.А вот это как реализовано, через мультикатегории минишопа?
Родительская категория — Игрушки для малышей
Доп категория — популярные товары
(На скрине родительская Головоломки)
yadi.sk/d/4a-zCJh03VE4R9
Доп категория — популярные товары
(На скрине родительская Головоломки)
yadi.sk/d/4a-zCJh03VE4R9
Мне самое главное вывести условие для доп категории, к примеру если товар находится в доп категории популярные товары — выводить один если в новинках другой div
Подсмотрел здесь — https://modx.pro/help/1431/#comment-18975
Сниппет catId:
Чтобы первый код сработал, нужно чтобы была включена системная настройка — Использовать Fenom на страницах, если нужно выводить маркер не только в каталоге но и на странице товара, то надо поменять вот так:
p.s. Возможно не самое лучшее решение, но работает) Но я бы всё таки использовал чекбоксы, т.к. вывод маркеров проще, и с остальным функционалом тоже проблем нет.
{var $cat = 'catId' | snippet : ['id' => $id]}
{if $cat == 1782}
популярные
{elseif $cat == 1733}
распродажа
{/if}
Сниппет catId:
<?php
$id = $id;
$tpl = '@INLINE [[+id]]';
$pdo = $modx->getService('pdoFetch');
$options = array(
'innerJoin' => array(
'msCategory' => array('on' => 'msCategoryMember.category_id = msCategory.id')
),
'select' => array('msCategory' => 'all'),
'sortby' => 'msCategory.id'
);
$conditions = array('product_id' => $id);
$rows = $pdo->getCollection('msCategoryMember', $conditions, $options);
$output = '';
foreach ($rows as $row) {
$output .= $pdo->getChunk($tpl, $row);
}
return $output;
Чтобы первый код сработал, нужно чтобы была включена системная настройка — Использовать Fenom на страницах, если нужно выводить маркер не только в каталоге но и на странице товара, то надо поменять вот так:
{var $cat = 'catId' | snippet : ['id' => $_modx->resource.id]}
p.s. Возможно не самое лучшее решение, но работает) Но я бы всё таки использовал чекбоксы, т.к. вывод маркеров проще, и с остальным функционалом тоже проблем нет.
Выходит что без дополнительных сниппетов только чекбоксами, печально конечно(
Ладно, буду использовать чекбоксы, спасибо огромное за помощь!
Ладно, буду использовать чекбоксы, спасибо огромное за помощь!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.