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

  • Автор темы Автор темы Obick
  • Дата начала Дата начала

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 прошлой записи.
Подскажите, как к нему правильно обратиться, если это возможно.
 
Обращаться не надо, можно просто сохранять его в какой-то переменной. Только вот что там должно выводится при первой итерации ?
 
Я так и хотела изначально :)
Проблема была в том, что не знала как задавать значение переменной :)
Почитала ман :) Все ok! Спасибо :)
 
не надо section. section - это последовательность а не перебор массива.
 
Demiurg

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

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

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

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

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

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

Концептуального - не используется лишняя переменная. Если использовать старый синтаксис вместо $smarty.section.section_name.index_prev то ряде случаев код может быть понятнее (например в случае если активно используются следующие-предыдущие значения и не в одной колонке) - но опять-же повторюсь - это вкусовщина.
 
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}
 
Saturn
ты не поверишь, но до тебя уже все решили. А ты почитай про модификатор default
 
Demiurg
ну и что решили? и что про default?
такое ощущение, что вас от вашей крутизны сча расперёт...
 
Saturn
если бы ты внимательно читал топик, то понял бы, что решили.
 
мне кажется, с такими замечаниями про крутизну надо не дискутировать, а моментально выкидывать.
пресекать на корню.
 
Фанат
что вы тут все такие из себя??? выкидывайте! испугали блин...
 
Сверху