Вопрос по циклу {section}

Sync

Новичок
Вопрос по циклу {section}

Допустим в шаблон назанчается массив вида
$answers = array(
0 => array('question_id' => 1, 'answer_id' => 1),
1 => array('question_id' => 1, 'answer_id' => 2),
2 => array('question_id' => 1, 'answer_id' => 3),
3 => array('question_id' => 1, 'answer_id' => 4),
.............
)

$smarty->assign('answers', $answers)


Организую секцию так:
{section name=id loop=$answers}
{assign var="curr_question_id" value=$answers[id].question_id}
{assign var="curr_answer_id" value=$answers[id].answer_id}

Текущий вопрос - {$curr_question_id}
Текущий ответ - {$curr_answer_id}
<br>
{/section}

На вывод имеем
Текущий вопрос - 1
Текущий ответ - 1
Текущий вопрос - 2
Текущий ответ - 2
Текущий вопрос - 3
Текущий ответ - 3
Текущий вопрос - 4
Текущий ответ - 4

То есть идет наращивание question_id на каждой итерации цикла, чего по логике не должно быть...

-~{}~ 16.06.05 11:42:

Автор оригинала: Sync
{assign var="curr_question_id" value=$answers[id].question_id}
{assign var="curr_answer_id" value=$answers[id].answer_id}
Такой изврат делается для того, что эти текущие айдишки используются в цикле как индексы некоторого массива, а если обращаться так $some_array[$answers[id].question_id] Samrty выдает ошибку
 

WeirD

Новичок
Через секцию не знаю, но можно что-то типа такого...

{foreach from=$answers item=answers_item}

Текущий вопрос - {$answers_item.question_id}
Текущий ответ - {$answers_item.answer_id}

{/foreach}

а если в foreach нужны id то их можно получить, скажем, через iteration...

Или через key, если индексы в массиве идут не по порядку...
 

Sync

Новичок
Вопрос снят, проблема была из-за того, что на странице было несколько секций, каждая из которых переопределяла переменную $curr_question_id.
 
Сверху