2010-06-01 1 views
1

В PHPTAL tal: условие может проверить переменную пустую? Нечто подобное:Проверка пустой переменной в условии PHPTAL

< tag tal:condition="var" >Some text</tag> 

но значение переменной такова:

<?php 
$variable = ''; 
$Tpl->var = $variable; 
?> 

И это проблема, потому что PHPTAL, что значение „“ интерпретации как не пустое значение и условие возвращения истинного.

Следующая проблема заключается в использовании, когда переменная является матрицей. Тогда нужен tal: repeat и я не знаю, как проверить каждый элемент матрицы в тале: состояние

Как исправить это в PHPTAL?

ответ

3
<tag tal:condition="php:!empty(var)">Some text</tag> 
+0

Вы должны действительно минимизировать использование 'php:' в шаблонах, так как это побеждает цель разделения представления из логики и делает ваши шаблоны менее переносимыми. –

2

tal:condition оценивает '' и массивы с count($array)==0 как ложный.

Если по martix вы имеете в виду n-мерный массив, тогда вам придется выполнять функцию, которая проверяет ее так, как вы хотите, и использовать ее, как в ответе nuqqsa.

0

Мы можем использовать рассказы true, чтобы проверить, не является ли переменная пустой. подробная информация here

это работает как PHP !empty().

< tag tal:condition="true:var" >Some text</tag> 

Надеюсь, что это поможет будущим посетителям этого вопроса.