У меня есть $ period var, который определяется с помощью:
Array
(
[2012-03-09] => Array
(
[3] => Array
(
[group] => 1
[color] => #00FF00
)
)
[2012-03-07] => Array
(
[3] => Array
(
[group] => 2
[color] => #00FF00
)
)
)
Я использую smarty и хочу напечатать значение, если ключ существует, а затем выполнить итерацию по всем данным:
{if array_key_exists($jour->nameMysql(), $periods)}
{foreach from=$periods[$jour->nameMysql()] item=periodsdf}
{$periodsdf}
{/foreach}
{/if}
Ключ возвращается результатом функции $ jour-> nameMysql () .первая часть кода работает (array_key_exists, но foreach не работает. Он зависает, и у меня нет сообщения об ошибке или предупреждения
Я уже пытался изменить foreach с помощью {foreach from ="$ period. {$ jour-> nameMysql ()}" item = perioddf} , но это не работает.
Я также попытался назначить переменную $ jour-> nameMysql () для varи использовать эту переменную, но она не работает
можете ли вы помочь мне заставить ее работать?
Редактировать
Этот код дает результат Iхочу
{php}
$periods = $this->get_template_vars('periods');
$jour = $this->get_template_vars('jour');
$this->assign('period', $periods[$jour->nameMysql()]);
{/php}
{foreach from=$period item=per}
<div style='color: {$per.color}'>{$per.group}</div>
{/foreach}
Если я найду умный синтаксис ... это хорошо
Спасибо