[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос по смарти для профи)
Страницы: 1, 2
filomax
Ну постараюсь изложить вопрос кратко.
Смарти версии 3.
В шаблоне вывожу:
{foreach $mySql->select("`id`, `name`", "`mains`") as $main}
{get_parents select=array("`id`, `name`, `display`, `sef`", "mains_values", $main['id'])}
html код для компиляции {$value['name']}<br />
{/get_parents}
{/foreach}

Выводит типы меню, и пытается их обработать (вывести дочерние пункты).

Дальше.

На php ловлю следующим образом:
$smarty->registerPlugin("block","get_parents", "get_parents");

теперь сама функция:
function get_parents($params, $content, $smarty, &$repeat, $template = ''){
global $mySql;
$select = $params['select'];

if($parents = $mySql->select($select[0], $select[1]." WHERE `parent` = ".intval($select[2])){
foreach($parents as $value){
$smarty->assign('value', $value);
$ret .= $content;
}
}


return $ret;
}


И теперь вопрос:
допустим у первого пункта два подпункта. Тест 1 и Тест 2.
В данном виде код выводит
html код для компиляции Тест 2
html код для компиляции Тест 2

Если бы выводил
html код для компиляции Тест 1
html код для компиляции Тест 1
то можно было бы в assign добавить true для nocache, но выводит последнее значение везде, а не первое.

В какую сторону копать?
И кстати если заменить $ret .= $content; на return $content; то выводит
html код для компиляции Тест 1
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.