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

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

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