спец. блок-функция в Smarty

bird

Guest
спец. блок-функция в Smarty

такое дело:
есть шаблоны, в которых в определенных местах надо выводить определенную инфу (причем места и инфа эта неизвестны:)))). Расшивровываю: допустим есть дерево разделов, и из определенного раздела надо вывести подразделы, например, новости в табличке. Затык в том что я не знаю где в каком шаблоне понадобится массив этих подразделов а может и не понадобится (шаблоны обрабатывает один скрипт). Получается надо получать этот массив в самом шаблоне. Попробовал написать блок-функцию в Smarty:

{news from_id=1}
<a href={$new->href}>{$new->name}</a>
{/news}

, где контент функции генерится в ячейки таблицы. Но дело все в том что энтот контент обрабатывается до того, как он приходит в функцию и на выходе мыполучаем, 10 (допустим новостей 10) пустых ячеек :-((

как побороть?
 

tony2001

TeaM PHPClub
я ничего не понял.
объясни на пальцах что ты хочешь сделать.
 

bird

Guest
try again ...

для того чтобы вывести в Smarty что-либо с этим "что-либо" надо сделать

<?
$smarty->assign("Что-либо","Чему-либо");
?>

Причем делается это в самом скрипте, а достается из шаблона

{$Что-либо}.

При всем этом хочется сделать гибко.
Инициализировать все переменные, которые могут быть нужны в шаблонах - абсурд (представьте допустим 10000 записей в базе). Вариант - инициализировать из самого шаблона. Вот я и пытался написать функцию, которая выдергивает объекты в массив и сама же его обрабатывает (см. предыдущий пост).
Но в Smarty в блоковых ф-циях сделано так, что блок "<a href={$new->href}>{$new->name}</a>" (см. предыдущий пост) приходит в функцию уже отпарсенный и весь смысл в данном случае блоковой ф-ции пропадает.

Итак, задача стоит в написании ф-ции, которая сама получала массив объектов, обходила его и на основании входящего блока формировала ячейки таблицы и в конечном итоге саму таблицу

PS Sorry, если кого-то загрузил, просто колбашусь 2-й день над этим делом и видимо не совсем доходчиво объясняюсь уже :)))))
 

tony2001

TeaM PHPClub
>Инициализировать все переменные, которые могут быть >нужны в шаблонах - абсурд (представьте допустим 10000
>записей в базе).
все зависит от количества.
у меня есть масса переменных, которые используются на всех страницах (точней, почти все, почти на каждой странице).
я их все в куче инициализирую парой запросов и дальше уже об этом не думаю.
если у тебя их 100000, то есть смысл делать это именно там, где надо, тем более, что доставать их по одиночке будет намного более затратнее, чем все сразу.
 
Сверху