Есть страница категорий товаров, где выводится список категорий.
В шаблоне этой страницы категорий я хочу вывести список ссылок на категории, для чего использую поле migx, в котором пользователь вводит id товара, на который он хотел бы сделать ссылку, вставляет изображение, отображаемое на странице категорий для данной конкретной категории и текст — название категории:
[
{«caption»:«Категории», «fields»:[
{«caption»:«Ссылка на категорию», «field»:«link», «inputTV»:«iit»},
{«caption»:«Изображение», «field»:«img», «inputTV»:«imgItem»},
{«caption»:«Текст», «field»:«text»}
]}
]
iit — это TV с типом «Число»
В шаблоне вызываю getImageList:
[[sessTVNull]]
[[!getImageList? &tvname=`catItem` //catItem — это наше поле migx
&tpl=`@CODE:
[[+img]]
[[+text]]
`]]
sessTVNull:
$modx->setPlaceholder('tv', -1);
sessTVPlusOne:
$modx->setPlaceholder('tv', $modx->getPlaceholder('tv') + 1);
getAliasById:
$str = $modx->getObject('modResource', 7);
$tvs = json_decode($str->getTVValue('catItem'), true);
return $modx->getObject('modResource', $tvs[$modx->getPlaceholder('tv')]['link'])->get('alias').".html";
Я хочу вывести алиас каждого документа, который является потомком документа с id, который мы передаём в getAliasById, т.е. текущего. Проблема в том, что migx запускается только один раз. Я хочу записать в глобальный плейсхолдер переменную-счётчик, подсчитывающую, который раз у нас формируется html-код в вызове getImageList, но в sessTVPlusOne, в котором нужно каждый раз +1 к глобальному плейсхолдеру-счётчику значение прибавляется только 1 раз, и поэтому у всех ссылок href равен одному и тому же числу, но мне нужно, чтобы каждый раз, как формируется часть кода ("<a ...>") в getImageList прибавлялось значение placeholder 'tv' на 1 и в getAliasById я по значению этого плейсхолдера могу понять, в который раз у меня сниппет getAliasById вызывается.
Помогите пожалуйста, замучался с этим) Пробовал [[~[[+link]]]] в вызове getImageList — не получается — выводит алиас главной
Вопрос по migx getImageList выбор псевдонима по id cтраницы
Версия MODX: Все
Комментарии (3)
Для добавления комментариев вы должны авторизоваться или зарегистрироваться.
Алексей Смирнов 15.10.2015 16:01 #
А вообще вам нужно получить ID категорий, которые у вас уже в админке есть в разделе Ресурсы? Это своего рода контейнеры?
Верно я вас понял?
Если так, то логику вам бы поменять, думаю… Ведь у каждой категории (папки) Есть Доп поля. почему бы к каждой категории не создать 1 поле для изображения… остальные поля есть. И использовать обычный, как минимум pdoResources или подобный.
Чем обусловлен выбор MIGx?
FitzgeraldFox 16.10.2015 12:53 #
Дело в том, что я пока ещё новичок в modx и пользуюсь тем, что успел освоить) Спасибо за совет, попробую использовать pdoResources
Алексей Смирнов 16.10.2015 14:27 #
Будут вопросы — пишите.
Успеха!