Проверка на наличие элемента в шаблоне

Сразу скажу что пользуюсь Mini shop`oм. Есть сайт, на котором есть категории товаров, потом анонсы товаров и подробности товара. А ещё есть раздел НОВОЕ, там я хочу выводить все товары у которых есть свойство «Новое», которое присваивается в Свойствах Товара. Необходимо осуществить проверку на то, есть ли в шаблоне этот компонент, а именно $new?.. Если есть — то выводить товар.

Это код страницы «Новое». В случае чтобы не отвлекать нас от главного, я убрал всё лишнее.

<div class="catalog">
        <div class="content">
          <span class="text-center">[[*longtitle]]</span>
          <div class="toys">
            [[!pdoPage?
        	&element=`msProducts`
        	&tpl=`productTpl`
             ]]
          </div>
          <div class="no-goods">[[$no-goods]]</div>
        </div>
      </div>

&tpl=`productTpl` — это шаблон Анонса продукта.

А вот код шаблона productTpl:

<div class="toy flex ms2_product">
  <input type="hidden" name="id" value="{$id}">
  <input type="hidden" name="count" value="1">
  <input type="hidden" name="options" value="[]">
  
  <div class="border-img">
    <a href="{$id | url}">
      {if $new?}<div class="new-top">новинка</div>{/if}
      {if $popular?}<div class="new-top">топ</div>{/if}
      <!-- <img src="assets/img/igrushki/17.jpg" alt="" class="img-responsive"> -->
      {if $thumb?}
            <img src="{$thumb}" alt="{$pagetitle}" title="{$pagetitle}" class="img-responsive">
        {else}
            <img src="{'assets_url' | option}components/minishop2/img/web/ms2_small.png"
                 srcset="{'assets_url' | option}components/minishop2/img/web/ms2_small@2x.png 2x"
                 alt="{$pagetitle}" title="{$pagetitle}"/>
        {/if}
    </a>
  </div>
  <div class="title-toy">
    <h1>{$pagetitle}</h1>
  </div>
  Прокат:
  <p>От <strong>{$price}</strong> руб</p>
  <a href="{$id | url}" onclick="url=this.href;setTimeout('location.href=url',500);this.href='javascript:void(0)';"><button class="bubbly-button">[[$name-button]]</button></a>
</div>
Как видите в коде есть переменная $new. Так вот, если она присутствует здесь — распечатать товар.

Для наглядности также приведу пару скриншотов, что-бы визуально было понятнее что и где находится.

1. Главная, там же и категории товаров:



2. Переходим в одну из категорий и видим что здесь находятся анонсы товаров.



3. Также есть подробности товаров, но нам это не надо, поэтому показываю как выглядит страница «Новое»

Lev
Lev
30 ноября 2018, 21:58
modx.pro
1 203
0

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

Андрей
01 декабря 2018, 02:24
+1
&where=`{"Data.new:=":1}`
    Lev
    Lev
    01 декабря 2018, 20:07
    0
    Я так понял этот параметр надо в pdoPage, но даже с ним ничего. Можно поподробней.
      Андрей
      01 декабря 2018, 20:19
      0
      Я же правильно понял, что на странице надо вывести все товары у которых стоит отметка Новый?
        Lev
        Lev
        01 декабря 2018, 20:20
        0
        да
          Lev
          Lev
          01 декабря 2018, 20:53
          0
          Вот как выглядит дерево ресурсов.
            Андрей
            02 декабря 2018, 15:11
            1
            +1
            Тогда должно всё работать, например так:

            [[!pdoPage?
                &element=`msProducts`
                &parents=`1`
                &where=`{"Data.new:=":1}`
            ]]
              Lev
              Lev
              02 декабря 2018, 15:55
              0
              Отлично! всё работает. Спасибо!
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      7