Вывод всех блоков разных экшнов на главной
Проблема. На главной странице надо выводить просто набор блоков 6-9 штук в виде таблицы
Блоки из блоков для sidebar разных экшнов.
Так вот это как раз и не получается…
Блоки в sidebar.tpl вызываются конструкцией:
Т.е. все сразу, которые существуют для данного экшна как я понял. Мне же надо вызывать каждый по отдельности, в свою ячейку.
Что это за aBlock и откуда оно берется?
Если я просто делаю {include file='block.stream.tpl'}, блок выводится, но не берет данные через ajax при загрузке страницы, приходится кликать. {include file='block.tags.tpl'} например вообще не выводится и т.д.
Думаю Вы поняли, что я хочу. Помогите реализовать эту идею пожалуйста.
Все это надо сделать для экшна index, вобщем для главной.
Блоки из блоков для sidebar разных экшнов.
Так вот это как раз и не получается…
Блоки в sidebar.tpl вызываются конструкцией:
{if isset($aBlocks.right)}
{foreach from=$aBlocks.right item=aBlock}
{if $aBlock.type=='block'}
{insert name="block" block=`$aBlock.name` params=`$aBlock.params`}
{/if}
{if $aBlock.type=='template'}
{include file=`$aBlock.name` params=`$aBlock.params`}
{/if}
{/foreach}
{/if}
Т.е. все сразу, которые существуют для данного экшна как я понял. Мне же надо вызывать каждый по отдельности, в свою ячейку.
Что это за aBlock и откуда оно берется?
Если я просто делаю {include file='block.stream.tpl'}, блок выводится, но не берет данные через ajax при загрузке страницы, приходится кликать. {include file='block.tags.tpl'} например вообще не выводится и т.д.
Думаю Вы поняли, что я хочу. Помогите реализовать эту идею пожалуйста.
Все это надо сделать для экшна index, вобщем для главной.
6 комментариев
2. Шаблоны могут лежать где хочешь и вызываются AddBlock('path_to_template.tpl'). Хочу отметить что tpl штука обязательная. Если она указана, то шаблон ищется по всему пути относительно dir_static_skin (напр. AddBlock('actions/ActionBlog/some-block.tpl'). В таких блоках мы используем переменные, которые мы передавали в главный шаблон.
3. Обработчик лежит в classes/blocks/* Если нужно использовать блок+обработчик, то мы просто задаем имя AddBlock('block-name'); При этом мы не указываем.тпл. В таком случае, движок ищет класс блока (обработчик), а потом сам блок. Этот блок должен располагаться в корне dir_static_skin и иметь префикс block.
4. У блоков могут быть параметры, которые передаются при добавлении (AddBlock('block-name',array('param1'=>'value1','param2'=>'value2')
5. Так же у блоков есть идентификатор положения (right, кстати, забыл в примерах выше). Можно сделать несколько сайдбаров. Думаю, вы догадаетесь как.
6. Добавляются блоки в экшенах или хуках.
Таких знаний должно хватить=)
хотелось бы услышать конкретное решение