Альтернативный вывод блоков
Приветствую.
На своем сайте решил сделать на главной странице НАД топиками вывод случайных фотографий из галереи от benone. Главное- придать блоку свой вид, не такой как на странице в галерее в блоке. Да и как добавить сам блок НАД топиками?
Решение под катом)
Итак. Для начала создадим копию блока случайной картинки.
Скопируем файл block.GalleryImagesRandom.tpl и переименуем к примеру на
block.GalleryImagesRandomTop.tpl
Далее идем в classes/blocks
Так же создаем копию файла BlockGalleryImagesRandom.class.php
и даем название BlockGalleryImagesRandomTop.class.php
Открываем его и находим
Заменяем на
Теперь необходимо создать отдельный вывод блоков.
Идем в шаблон и делаем копию файлу sidebar.tpl
Я копию переименовал в sidebart.tpl
Открываем его и находим
заменяем код на
Выводим наш блок НАД топиками.
Открываем файл header.tpl и находим в самом низу
Ниже добавляем
С основным закончили.
Теперь подключем вывод в actions. Идем в classes/actions
Открываем ActionIndex.class.php
Находим
И ниже добавляем
Все. Т.е. по сути мы просто создали дополнительный sitebar- LEFT
Вот небольшой скрин, как получилось<тынс>
Единственное -стили. Нужно у блока block.GalleryImagesRandomTop.tpl
и файла sitebart.tpl изменить стили на свой.
P.S. я не пробовал проделывать такое на других блоках. Но сама суть добавления описана вроде Правильно и подробно. Поправьте пожалуйста если допустил где ошибку или сделал не верно.
Может можно это дело реализовать с помощью хуков(?) и мороки меньше будет)
На своем сайте решил сделать на главной странице НАД топиками вывод случайных фотографий из галереи от benone. Главное- придать блоку свой вид, не такой как на странице в галерее в блоке. Да и как добавить сам блок НАД топиками?
Решение под катом)
Итак. Для начала создадим копию блока случайной картинки.
Скопируем файл block.GalleryImagesRandom.tpl и переименуем к примеру на
block.GalleryImagesRandomTop.tpl
Далее идем в classes/blocks
Так же создаем копию файла BlockGalleryImagesRandom.class.php
и даем название BlockGalleryImagesRandomTop.class.php
Открываем его и находим
class BlockGalleryImagesRandom
Заменяем на
class BlockGalleryImagesRandomTop
Теперь необходимо создать отдельный вывод блоков.
Идем в шаблон и делаем копию файлу sidebar.tpl
Я копию переименовал в sidebart.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}
заменяем код на
{if isset($aBlocks.left)}
{foreach from=$aBlocks.left 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}
Выводим наш блок НАД топиками.
Открываем файл header.tpl и находим в самом низу
{if !$noShowSystemMessage}
{include file='system_message.tpl'}
{/if}
Ниже добавляем
{if !$bNoSidebar}{include file='sidebart.tpl'}{/if}
С основным закончили.
Теперь подключем вывод в actions. Идем в classes/actions
Открываем ActionIndex.class.php
Находим
$this->Viewer_AddBlocks('right',array('stream','tags','blogs'));
И ниже добавляем
$this->Viewer_AddBlocks('left',array('GalleryImagesRandomTop'));
Все. Т.е. по сути мы просто создали дополнительный sitebar- LEFT
Вот небольшой скрин, как получилось
Единственное -стили. Нужно у блока block.GalleryImagesRandomTop.tpl
и файла sitebart.tpl изменить стили на свой.
P.S. я не пробовал проделывать такое на других блоках. Но сама суть добавления описана вроде Правильно и подробно. Поправьте пожалуйста если допустил где ошибку или сделал не верно.
Может можно это дело реализовать с помощью хуков(?) и мороки меньше будет)
3 комментария