modx Уменьшите значение TV, чтобы получить 0

Мне нужно, чтобы мой телевизор [[+idx]] начинался с 0 вместо 1, поэтому я попробовал это: [[+idx:decr]] или _3[[+idx]]4_, но это дает мне -1 (минус один). Кто-нибудь знает другой способ получить 0?

Спасибо


person Sylvain Le Bihan    schedule 14.03.2013    source источник


Ответы (2)


Использование этого в чанке для getImageList работает (по крайней мере, для меня):

[[+idx:decr]]

Это дает: 0,1,2,3....

P.S. используя modx revo 2.3.1

person TomoMiha    schedule 06.11.2015

установите переменную шаблона по умолчанию на 0 при создании переменной.

Что вы пытаетесь сделать, ваш вопрос в лучшем случае расплывчатый.

ОБНОВЛЕНИЕ

хорошо - я думаю, что вам подойдет, это написать сниппет, чтобы сделать математику... где бы вы ни вызывали [[+idx]] вместо этого пишите сниппет

 [[!FixIDX? &itemindex=`[[+idx]]`]]

затем в вашем фрагменте FixIDX просто выполните математику с php и верните исправленный индекс. Хотя, возможно, лучше использовать собственный модификатор вывода: http://rtfm.modx.com/display/revolution20/Input+and+Output+Filters+(Output+Modifiers)

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

person Sean Kimball    schedule 15.03.2013
comment
хорошо, извините, я думал, что это было довольно ясно. Я создал систему новостей с текстом, заголовком и ссылкой в ​​каждой новости. [[+idx]] — идентификатор каждой новости migx. Телевизоры создаются с помощью migx, например: {field:image,caption:image,inputTVtype:image}, {field:titre_actu1,caption:Titre de l'actualité 1}, {field:actu_date1,caption:actu_date1,inputTVtype: date}, так что телевизоров физически не существует. Теперь мне нужно отобразить идентификатор каждой новости, но он должен начинаться с 0, у меня нет другого выбора, чтобы получить совместимость с другой системой. Поэтому я хочу знать, есть ли другой способ. - person Sylvain Le Bihan; 15.03.2013
comment
хм, значит, mix создает переменную idx? хм. Я обновлю свой ответ [возможно, «расплывчатость» была немного резкой, знание того, что вы используете migx, было очень важно.] - person Sean Kimball; 15.03.2013
comment
Есть ли способ сделать что-то подобное во фрагменте: if ([[+idx]]==1) echo 0; - person Sylvain Le Bihan; 16.03.2013