Smarty массивы

rasandrey

Участник
Регистрация
2 Апр 2009
Сообщения
214
Реакции
6
Приветствую!

Такой вопрос по смарти: делаю условие с массивами, в таком виде
HTML:
{if $relate_session[$product_related[i].productID] == $product_info.productID}display:block;{else}display:none;{/if}

но выводит ошибку именно в этом месте
HTML:
$relate_session[$product_related[i].productID]
, что не правильно делаю?
 
Ошибка не озвучена и очевидно не полный код для анализа причины.
 
Разобрался, сделал ассигн и переменную загнал в индекс массива. кому интересно:
HTML:
{assign var="data" value=$product_related[i][0]}
{if $relate_session[$data] == $product_info.productID}display:block;{else}display:none;{/if}
 
А чем это лучше
HTML:
{if $relate_session[$product_related[i][0]] == $product_info.productID}display:block;{else}display:none;{/if}
?
 
Ничем, таким образом $relate_session[$product_related[0]] отображает ошибку. Нельзя так обращаться к элементу массива
 
А у вас тут: $relate_session[$product_related[0]] - чего-то не хватает?
 
сори, вот так не работает, пропустил,
HTML:
$relate_session[$product_related[i][0]]
 
И я не услышал ошибки. Кроме того непонятно откуда берётся i А может там $i ?
Здесь никто никого не обвиняет. Но доверие можно построить на достоверном коде. И тогда помогать легче. А ошибаемся мы в коде все. ;)
 
Я не стал приводить полный код, т.к. на 100% был уверен, что именно там ошибка, показываю как все сейчас работает
HTML:
{section name=i loop=$product_related}
    {assign var="data" value=$product_related[i][0]}
    {if $relate_session[$data] == $product_info.productID}display:block;{else}display:none;{/if}
{/section}
 
Назад
Сверху