Иконка для каждой категории в меню, не могу понять в чем проблема
Версия MODX 2.8.4
Создал TV «categoryicon»
Создал сниппет getCategoryIcon
Создал TV «categoryicon»
Создал сниппет getCategoryIcon
<?php
$categoryId = $modx->resource->get('id'); // Получаем ID текущей категории
$category = $modx->getObject('modResource', $categoryId); // Получаем объект текущей категории
$iconSvg = $category->get('categoryicon'); // Получаем значение поля
if (!empty($iconSvg)) {
return $iconSvg;
}
return 'assets/images/category/default.svg';
В header указал вызов сниппета<div class="top-menu-wrapper [[++menuvar2:notempty=`var2`]]">
<div class="container">
<div class="top-menu">
<span class="top-menu-var2-btn">Меню</span>
[[pdoMenu?
&parents=`7`
&level=`1`
&tpl=`
@CODE <li [[+classes]]>
<span class="menu-icon">
<img src="[[!getCategoryIcon]]" alt="Icon">
</span>
<a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]
</li>
`]]
</div>
</div>
</div>
Но почему-то всем категориям задается default.svg, заданные мной иконки не отображаются, что я делаю не так? Комментарии: 3
Зачем писать сниппет, если достаточно просто передать ТВ поле в pdoMenu?
liTpl:
[[pdoMenu?
&parents=`7`
&level=`1`
&includeTVs=`categoryicon`
&tpl=`liTpl`
]]
liTpl:
<li [[+classes]]>
<span class="menu-icon">
<img src="[[+categoryicon:default=`assets/images/category/default.svg`]]" alt="Icon">
</span>
<a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>
[[+wrapper]]
</li>
Спасибо большое, сработало.
Советую читать документацию) ну и заглянуть вот сюда
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.