Статические страницы

Возможно ли на данном этапе реализовать возможность добавления статических страниц (О сайте, Контакты и т.д), чтобы на них тоже присутствовал сайдбар с нужными блоками?

12 комментариев

avatar
можно!
  • Fanta
  • 0
avatar

Кончено можно, для реализации страницы «О сайте» и др. перейдите templates\skin\habra\actions\ActionPage и там в стандартной комплектации есть 2 файла about.tpl и download.tpl

Вот их и надо редактировать. К примеру, если вы хотите создать «О сайте» так же, как реализовано на этом сайте. Для этого перейдите в about.tpl и напишите текст такой структуры

{include file='header.tpl'}

<DIV class=tagsblock>
       
<h3>Заголовок</h3>
Текст текст текст текст текст текст текст текст. UTF-8
<ul>
<li>Тут пишите то, что вы хотите видеть в перечислительном виде.</li>
<li>Тут пишите то, что вы хотите видеть в перечислительном виде.</li>
<li>Тут пишите то, что вы хотите видеть в перечислительном виде.</li>
</ul>

</ul>
</DIV>

{include file='footer.tpl'}

Для добавления другой страницы с другим именем, создайте страницу в папке templates\skin\habra\actions\ActionPageс такой же структурой, впишите название (типа games.tpl) и остается только прописать в шаблоне загрузку этой страницы. Для этого перейдите в header.tpl (находится в папке с шаблоном) и там найдите такие строки

<DIV class=menu>
                                <A href="{$DIR_WEB_ROOT}/blog/">Блоги</A>
                                <A href="{$DIR_WEB_ROOT}/people/">Люди</A>
                                <A href="{$DIR_WEB_ROOT}/page/about/">О проекте</A>
                                <A href="{$DIR_WEB_ROOT}/page/<b>имя вашей страницы</b>/"><b>заголовок вашей страницы</b></A>
avatar
верно, но не до конца…
чтобы добавлять свои страницы необходимо также добавить соответсвующие Event-ы в экшн Page.
avatar
Предлагаю такого рода статьи собирать отдельно в мануал:)
avatar
Спасибо большое. А каким образом сделать так, чтобы на этих страницах показывались блоки из сайдбара (прямой эфир, облако тегов, популярные блоги)?
avatar

в методе public function Init() { ... } экшена Page добавить вызов соответствующих блогов. Нечто типа:
/**
* Определяем какие блоки нужно выводить справа
*/
$this->Viewer_AddBlocksRight(array('comments','tags','blogs'));
avatar
предвидя ответ про противоположную сторону, скажу сразу, что, насколько мне известно, блоги слева добавлять пока нельзя
avatar
блоги => блоки
avatar
Ну это вопрос вёрстки. Там уже сами флоатите, ломайте и крушите.
avatar

В файле header.tpl есть фрагмент, который видимо определяет будет ли выводится сайдбар справа:
<DIV id=right>

{foreach from=$aBlockRight 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}                     

</DIV>

Но каким образом повлиять на него, я не совсем понял.
Объясните, пожалуйста, по-подробнее.
avatar

Все, разобрался, надо отредактировать файл classes/actions/ActionPage.class.php и после public function Init() {               
                $this->SetDefaultEvent('about'); дописать $this->Viewer_AddBlocksRight(array('comments','tags','blogs'));
avatar
ты гений! тут смог прочитать, поздравляю!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.