Вывод всех блоков разных экшнов на главной

Проблема. На главной странице надо выводить просто набор блоков 6-9 штук в виде таблицы



Блоки из блоков для 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 комментариев

avatar
Ну хоть бы кто-то отписался…
avatar
Кстати классная идея… тоже хотел бы себе такое… буду копашиться, если что то получится, обязательно здесь отпишусь
avatar
1. Блоки бывают двух типов: просто шаблон и обработчик + шаблон.
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. Добавляются блоки в экшенах или хуках.
Таких знаний должно хватить=)
avatar
Кто-нить может в вики перетащить=) дооформив
avatar
ну и как успехи?
avatar
кто реализовал такую схему?
хотелось бы услышать конкретное решение
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.