Эй,
Мне было интересно, если бы можно было передать ассоциативный массив в качестве параметра в пользовательской функции. Это мой сценарий:
В php-файле я установил массив:
$dataArr = array('one'=>'1','two'=>'2','three'=>'3');
$tpl->assign('dataArr',$dataArr);
Это моя пользовательская функция, потускнел
function smarty_function_drawChart($params, &$smarty){
print_r($params);
}
Это мой вызов функции в шаблоне
{drawChart data={$dataArr} title='Title of the Chart'}
Проблема, с которой я столкнулся, заключается в том, что если вы заметили, где я печатаю_r ($ params), то это показывает:
Array
(
[data] => Array
[title] => Title of the Chart
)
Кажется, что передается строка 'Array', а не фактический массив. Я выполнил отладку прямо перед передачей $ dataArr, который показывает, что {$ dataArr.one} имеет значение. Однажды внутри моей пользовательской функции $ params ['data']. Одна не существует.
Есть идеи, что я делаю не так?
Спасибо
Леви