предыдущий элемент foreach в шаблоне

Obick

Новичок
предыдущий элемент foreach в шаблоне

Добрый день, к сожалению нигде не нашла информации.
Нужно в foreach в шаблоне как-то получать предыдущее значение одного из полей.
PHP:
{foreach from=$values item=value}
<tr>
    <td>
     {$value.name}
    </td>
    <td>
     {$value.name_last}
    </td>
   </tr>
   {/foreach}
То есть вместо {$lvalue.name_last} должно выводиться name прошлой записи.
Подскажите, как к нему правильно обратиться, если это возможно.
 

Demiurg

Guest
Обращаться не надо, можно просто сохранять его в какой-то переменной. Только вот что там должно выводится при первой итерации ?
 

Obick

Новичок
Я так и хотела изначально :)
Проблема была в том, что не знала как задавать значение переменной :)
Почитала ман :) Все ok! Спасибо :)
 

Demiurg

Guest
не надо section. section - это последовательность а не перебор массива.
 

alexhemp

Новичок
Demiurg

Почему-же? foreach - проще, не спорю... Но section как раз для таких случаев существует, когда обработка сложнее.

Не, можно конечно запоминать, не спорю, просто section - концептуальнее :)
 

Demiurg

Guest
сложнее или проще тут непричем. foreach - это обход массива а section - это аналог for. Ты удивишься. но ключи в массиве мокут идти не по порядку.

>Не, можно конечно запоминать, не спорю, просто section - концептуальнее :)
и что в нем концептуального ?
 

alexhemp

Новичок
Demiurg

Разницу между ними представляю, ибо смотрю обычно какой код генерирует смарти.

В примере же шла речь о "вывести предыдущее значение".

Мне лично больше нравится использовать index_prev вместо assign-а в таком случае - это - дело вкуса.

Концептуального - не используется лишняя переменная. Если использовать старый синтаксис вместо $smarty.section.section_name.index_prev то ряде случаев код может быть понятнее (например в случае если активно используются следующие-предыдущие значения и не в одной колонке) - но опять-же повторюсь - это вкусовщина.
 

Saturn

Новичок
PHP:
{assign var="recent" value=""}
{foreach from=$values item=value}
<tr> 
    <td> 
     {$value.name} 
    </td> 
    <td> 
{if $recent}{$recent}{/if}
    </td> 
   </tr> 
{assign var="recent" value=$value.name}
{/foreach}
 

Demiurg

Guest
Saturn
ты не поверишь, но до тебя уже все решили. А ты почитай про модификатор default
 

Saturn

Новичок
Demiurg
ну и что решили? и что про default?
такое ощущение, что вас от вашей крутизны сча расперёт...
 

Demiurg

Guest
Saturn
если бы ты внимательно читал топик, то понял бы, что решили.
 

Фанат

oncle terrible
Команда форума
мне кажется, с такими замечаниями про крутизну надо не дискутировать, а моментально выкидывать.
пресекать на корню.
 

Saturn

Новичок
Фанат
что вы тут все такие из себя??? выкидывайте! испугали блин...
 
Сверху