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

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

3. Также есть подробности товаров, но нам это не надо, поэтому показываю как выглядит страница «Новое»
Это код страницы «Новое». В случае чтобы не отвлекать нас от главного, я убрал всё лишнее.
<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. Также есть подробности товаров, но нам это не надо, поэтому показываю как выглядит страница «Новое»
Техническая поддержка MODX
Сайт лежит, тормозит или остался без разработчика?
Переезд с MODX 2 на 3, PHP 7 на 8, скорость и безопасность. Поддержка со сроками и ответственностью, а не совет в чате.
Подробнее
Реклама
7
Комментарии: 7