Как вывести условие для определенной категории

Добрый день, Уважаемые участники сообщества!

Возник вопрос по выводу условия для определенной категории.

Есть стандартная схема добавления в популярные, в каждом товаре есть чекбокс — особый, новый или популярный.

У меня же эти параметры не используются, но используются категории популярные, новинки и распродажа.

К примеру один товар находится в двух категориях, игрушки для малышей и популярные.
Каким образом можно вывести маркер — Новинка или Популярное.

К примеру доп категория — Новинки имеет id 1782
Пробовал {if $category == '1782'}

Не выходит
Кто может помочь?
Андрей
03 мая 2018, 08:13
modx.pro
1 218
0

Комментарии: 8

UDAV
03 мая 2018, 11:34
0
Попробуй $_modx->resource.parent
    Андрей
    03 мая 2018, 11:39
    0
    К сожалению не выходит(
    Андрей
    03 мая 2018, 11:53
    0
    Если кто может помочь не бесплатно — отпишитесь
      Андрей
      03 мая 2018, 12:02
      0
      К примеру один товар находится в двух категориях, игрушки для малышей и популярные.
      А вот это как реализовано, через мультикатегории минишопа?
        Андрей
        03 мая 2018, 12:06
        0
        Родительская категория — Игрушки для малышей
        Доп категория — популярные товары

        (На скрине родительская Головоломки)

        yadi.sk/d/4a-zCJh03VE4R9
          Андрей
          03 мая 2018, 12:07
          0
          Мне самое главное вывести условие для доп категории, к примеру если товар находится в доп категории популярные товары — выводить один если в новинках другой div
            Андрей
            03 мая 2018, 12:59
            0
            Подсмотрел здесь — https://modx.pro/help/1431/#comment-18975

            {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. Возможно не самое лучшее решение, но работает) Но я бы всё таки использовал чекбоксы, т.к. вывод маркеров проще, и с остальным функционалом тоже проблем нет.
              Андрей
              03 мая 2018, 13:07
              0
              Выходит что без дополнительных сниппетов только чекбоксами, печально конечно(
              Ладно, буду использовать чекбоксы, спасибо огромное за помощь!
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        8