Проверка длины массива в TT
Aug. 21st, 2007 06:53 pmЕсли при проверке длины передаваемого массива в Template Toolkit использовать
[% IF array_name %], то условие будет истинным даже в том случае, когда массив пуст. Во всяком случае, это справедливо для массивов, получаемых из БД:$c->stash->{‘array_name’} = [$rs->some_values];Но если использовать метод size — всё получается: условие[% IF array_name.size %]оказывается истинным лишь тогда, когда в массиве что-то есть и ложным — если массив пуст.
ООП на марше
Date: 2007-08-21 03:04 pm (UTC)no subject
Date: 2007-08-21 06:51 pm (UTC)Нашел!
Date: 2007-12-10 09:18 am (UTC)Спасибо.
Подскажите, где вы откопали это свойство? Только начал разбираться с тт, информации часто не хватает. Дока какая-то неполная и корявая. Где еще можно копать? Гугла в этом деле помогает слабо
Re: Нашел!
Date: 2007-12-11 03:32 pm (UTC)http://template-toolkit.org/
http://template-toolkit.ru/
Тернарный оператор
Date: 2007-12-25 02:14 pm (UTC)Вопрос со сабжу:
пишу [% condition ? vars_1_value : 'some_message' %]
работает замечательно
пытаюсь теперь используя тернарный оператор выполнить включение блока через INCLUDE:
[% condition ? INCLUDE block_name : 'some_message' %]
вот эта конструкция работать отказывается. Переписываю обычным образом:
[% IF condition;
INCLUDE block_name;
ELSE;
'some_message';
END %]
все работает ок
в общем вывод - конструкция INCLUDE block_name отказывается работать в тернарном операторе.
Пробовал ее заключать в скобки, в фигурные скобки, расставлял точки с запятыми в разных комбинациях, но положительного результата не добился. Рисовать же обычным методом кучу строк, читабельность которых сомнительно очень не хочется.
Есть ли решение? Не сталкивались?
Re: Тернарный оператор
Date: 2007-12-26 05:49 am (UTC)Если столкнусь — проверю.