Как устроена тема
07.07.2010[document]
type = manual
name = "Как устроена тема"
description = 'Одним из самых часто задаваемых вопросов являются вопросы об устройстве темы движка. Сразу надо заметить, что шаблоны темы устроены просто и дают вэбмастеру свободу творчества. И так
ключевые факты:
- тема это html, в котором отсутствует исполняемый php код
- все шаблоны темы умещаются в одном файле index.tml (безусловно, речь не идет о стилях и картинках, только html)
- в шаблонах используются теги вида $object.property (по русски $объект.свойство)
- для разделения шаблонов используются html комментарии вида
<!--section-->...любой html или другие шаблоны...<!--/section-->
Разберем детально на примере темы по умолчанию, которая находится в папке themes/default дистрибутива. Если все упростить то тема устроена следующем образом:
- меню
- контент
- два сайтбара с виджетами
- подвал
Вот реальный пример, взята тема по умолчанию и из нее для понимания я вырезал все шаблоны. Используются глобальные объекты $options и $template, которые всегда доступны в шаблоне.
<body>
<div id="header"><div id="logo"><span class="name"><a href="$options.url/">$options.name</a></span><span
class="slogan">$options.description</span>
</div></div>
<div id="topmenu">
$template.menu
</div>
<div id="out">
<div id="middle">
<div id="content">
$template.content
</div>
<div id="sidebar">
$template.sitebar
</div>
<pre><code><div id="footer">
<div id="bottom">
<ul id="footerbar">
$template.sitebar
<div id="copyright"><span class="blogolet"><a href="$options.url$options.home">$options.name</a></span>$template.footer</div>
</div>
← Ранее XML-RPC error после добавления комментария
Позже Теги для шаблонов →
Комментарии (20) на запись “Как устроена тема”
Оставить комментарий
Спасибо!
Особенно за прояснение самого неинтуитивного момента - про взаимозаменяемость шаблонов и свойств объектов.
Список объектов и свойств будет потом, я правильно понял?
зы. только у меня верстка глючит? /после </code></p> все уезжает в правую колонку/
А фильтр code надо править - коды практически не читабельные...
Пусть вопросы будут здесь же:
как правильно в
<!--categories--> вкладывать
<!--category--> или <!--items--> и где это задается.
аналогично с tags
Написал еще одну статью про теги:
http://litepublisher.ru/doc/tegi-dlya-shablonov.htm
поправил фильтр для code, но вот почему то пропали переводы строк, пока не разобрался
я пока никакую фичу не запросил. я спросил присутствует ли там требуемый функционал. у страниц могут в теории присутствовать мета-поля. а по ним в теории можно делать плагины.
я пока что еще не сильно вникал в суть плагинов. мигрирую с wp - решил поразвлекаться с блоголетом.
Да, можно, скрипт
http://litepublisher.googlecode.com/svn/trunk/utils/wp2lt.php
работает следующим образом: в ту же папку устанавливается litepublisher (пересекаются всего два файла .htaccess и index.php) после чего заливается скрипт перехода в корень сайта (с уже установленным litepublisher) и его адрес набирается в браузере. На php 5.3 выдаст кучу ругани wordpress (у wp грязный код) и простынка с номепрами постов. После чего можно тестировать сайт со всеми постами и комментами с меню из wordpress.
http://litepublisher.ru/source/themes/default/theme.txt