Smarty Tags PHP isset заявление - PullRequest
0 голосов
/ 22 марта 2012

Я использую смарт-теги с php, и мой вопрос / проблема касается функциональности! Isset. Для начала вот как я создаю и присваиваю свои два массива. Затем я использую оператор SMarty IF для сравнения условий, и если условия выполняются, либо отображать, либо не отображать HTML

Первый массив создается из базы данных, назначается как переменная Smarty.

{section name=cart loop=$cart}
{/section}

Второй массив также извлекается из базы данных, но я назначаю этот массив посредством захвата Smarty:

{capture name='donate' assign='donate'}
{/capture}

Как только массивы назначены, вот оператор if:

{if $cart[cart].Program == TT && !isset($donate)}
<td>Make a difference. Donate $10.00 to the ASPCA</td>
{/if}

HTML все равно будет отображаться, даже если массив $ donate не установлен. Цените любое понимание, чтобы указать, что я могу делать неправильно

Ответы [ 2 ]

0 голосов
/ 22 марта 2012
{capture name='donate' assign='donate'}
{/capture}
{$donate|var_dump}

даст вам

string(0) "" 

, поскольку только isset(null) === false, вы можете изменить выражение на

{if $cart[cart].Program == TT && $donate}

или !empty($donate), если хотите.

0 голосов
/ 22 марта 2012

массив $donate не установлен или просто пустой массив, вы пытались использовать empty($donate)?

...