Темы или шаблоны в блоголёте
13.02.2009Темы в блоголёте это обычные html файлы, которым присвоено расширение .tml - наверно это можно расшифровать как Template HTML, оставлять им классическое расширение .html я не стал, так как если эти файлы открытьв браузере, то наверняка ничего вразумительного не увидите. Дело в том, что между тегами используются теги блоголёта со знаком больше ">". Движок блоголёта при обработке этих файлов заменяет свои теги на нормальный текст.
Что же нужно, чтобы создать свою собственную тему для блоголёта? Рекомендовал бы взять в качестве заготовки одну из тем, которые уже есть в блоголёте. Главное в теме для блоголёта это файл index.tml - это как раз и есть шаблон всей html страницы. Можете открыть любой из файлов index.tml чтобы в этом убедится. Вы можете также внести в этот файл свои собственные изменения, например добавить блок рекламы, но для этого я все же рекомендовал бы использовать виджет с редактируемым текстом, потому что при смене шаблона виджет будет и в другой теме, чего не скажешь о непосредственной редакцией файла index.tml. В файле index.tml вы увидите многочисленные теги блоголёта, например
$Template->title $Template->content $Template->sitebar
Нет никаких сложностей с тем, чтобы вставить эти теги в ваш новый шаблон. После создания файла index.tml и таблицы стилей, следует отредактировать ini файлы для темы, а именно about.ini - где обязательно указать количество сайтбаров в теме, и прописать свои авторские права. Следующим шагом будет редактирование файла theme.ini - в этом файле находятся шаблоны виджетов. Отредактируйте их по своему желанию. О виджетах будет рассказано отдельно.
Следующими шагами будет редактирование файлов post.tml postexcerpt.tml и menuitem.tml - это шаблоны для записи, анонса записи и страницы в меню соответственно. Теже самые правила - это обычный html текст с тегами блоголёта. Отдельно следует остановиться на шаблоне комментариев: он находится в файле comment.ini Дело в том, что блоголёт конструирует список и форму для комментариев. Этому есть свои причины. Форма может имеет произвольное количество полей и она должна работать в любой теме и к тому же администратор блога должен иметь возможность для автоматического управления полями формы комментирования. Вероятно, что помещение шаблонов для комментирования в файл comment.ini не является лучшим, но мне бы было интересно узнать ваше мнение об этом.
← Ранее TTemplate - описание класса
Позже TUrlmap - описание класса →
Комментарии (67) на запись “Темы или шаблоны в блоголёте”
Оставить комментарий
Удаляю из кеша папку сайта, запускаю сайт, он ругается:
Warning: file_put_contents(/сервер/домен/cache/домен/menu.php) [function.file-put-contents]: failed to open stream: No such file or directory in /сервер/домен/lib/templateclass.php on line 440
Warning: file_put_contents(/сервер/домен/cache/домен/widget4.php) [function.file-put-contents]: failed to open stream: No such file or directory in /сервер/домен/lib/templateclass.php on line 198
Warning: file_put_contents(/сервер/домен/cache/домен/widget1.php) [function.file-put-contents]: failed to open stream: No such file or directory in /сервер/домен/lib/templateclass.php on line 198
Warning: file_put_contents(/сервер/домен/cache/домен/widget8.php) [function.file-put-contents]: failed to open stream: No such file or directory in /сервер/домен/lib/templateclass.php on line 198
Warning: file_put_contents(/сервер/домен/cache/домен/widget6.php) [function.file-put-contents]: failed to open stream: No such file or directory in /сервер/домен/lib/templateclass.php on line 198
Warning: file_put_contents(/сервер/домен/cache/домен/5-1.php) [function.file-put-contents]: failed to open stream: No such file or directory in /сервер/домен/lib/urlmapclass.php on line 154
Все отлично!
url/style000.css\" type=\"text/css\" media=\"screen\" /> и т.д.)..вообще, там несколько css-файлов,но с моими поверхностными знаниями заминок может быть много))
Замени везде \" на "
url/style000.css" type="text/css" media="screen" />
Ты как-то неправильно шаблон делаешь, нужно установить эту тему на вордпрессе и потом открыть исходный код главной страницы сайта и страницы с комментариями, от них и отталкиваться при написании темы для блоголета.
Еще не получится вывести дату так же как в шаблоне, потому что в блоголете пока это не реализовано, можно только 01.01.2009. Ну и навигация тоже хромает.
Когда в блоголете будет полностью проработана система шаблонов, я сделаю парочку для общего пользования.
Ты удивишься, но блоголёт вообще никак не трогает файлы стилей, и соответствено проблема не в них. Редактируй tml файл, но могу предположить что в самом начале файла идет декларация типа
<?xml...
замени ее на
<?php echo '<?xml version="1.0"?>'; ?>
иначе спотыкается php парсер. Еще раз повторю - файлы стилей блоголёт абсолютно не трогает.
В сегодняшнем обновлении можно с датой делать все что угодно - смотри описание нового свойства для постов dateformat, а если кратко здесь то
{$post->dateformat->m}
выведет название месяца, фигурные скобки для вложенных свойств обязательны, перечень форматирующих знаков смотри в документации для функции date в php
url/style000.css\" type=\"text/css\" media=\"screen\" />
url/style000.css" type="text/css" media="screen" />
Спасибо,прокатило, но дело в том что в index.thm именно эта строка и была прописана, без лищних слешей, тоесть визуально никаких неточностей не было..однако, скопировав на ее место строку с коммента sartas, я подключил таки стили.. не пойму в чем заминка.
Тоже самое часто возникает, к примеру, с img-тегами..они не работают порой. Кодировка?
Хотелось бы что бы это было возможно.
$Template->url в comments.ini нужно, что бы задать путь до дефолтной аватарки из папки с шаблоном(комментарии делаю в стиле WP с аватарками).
Оказывается через него и ссылки для редактирования/удаления сообщения для админа выводится.
Я вижу тут 2 решения, делать в папке с шаблоном папку plugins куда кидать шаблоны для плагинов, т.е. вынести оформление из плагинов.
+ сделать типа тега в шаблоне [admin]не видно юзерам [/admin] таким образом можно сделать ссылки на редактирование/удаление сообщения в любом месте.
Гарантированного для последующих версий как бы нет, а для текущей версии надо отредактировать файл ru.ini секцию с кмментариями, после чего удалитьь рядом лежащий файл ru.ini - aфайлы в папке lib/languages/
Если будешь делать обновление, то все языковые файлы перезапишутся вс обновлением.
появляются ошибки:
Caught exception: The requested property rss not found in class TOptions
0 lib/kernel.php(31): TDataClass->Error('The requested p...')
1 lib/kernel.php(254): TDataClass->__get('rss')
2 lib/templateclass.php(451) : eval()'d code(7): TEventClass->__get('rss')
3 lib/templateclass.php(451): eval()
4 lib/templateclass.php(416): TTemplate->ParseFile('index.tml')
5 lib/kernel.php(881): TTemplate->request(Object(TAdminThemes))
6 lib/kernel.php(869): TUrlmap->PrintClassContent('TAdminThemes', Array)
7 lib/kernel.php(755): TUrlmap->PrintContent(Array)
8 lib/kernel.php(734): TUrlmap->DoRequest('/admin/themes/')
9 index.php(35): TUrlmap->Request('mylira.ru', '/admin/themes/')
10 {main} url/style.css\" type=\"text/css\" media=\"screen\" /> name RSS Feed\" href=\"$Options->rss\" /> pingurl\" /> url/rsd.xml\" /> url/wlwmanifest.xml\" /> url/favicon.ico\" /> foaf\" /> version\" /> keywords\" /> description\" /> url/sitemap/\" /> url/openid/\" /> url/openid/\" /> url/openid/\" /> url/openid/\" /> $Template->archives $Template->head
И еще один момент, иногда глючат метки с определенными именами, они создаются, но при клике на них идет переход на 404 страницу. Может быть переинсталировать какойто класс? Версия блоголета 2.48
Жалко терять просмотры, так как на метки приходится солидная часть их.
Редактирование postexcerpt влияет только на сам блок анонса поста а как сделать чтоб перед анонсами на страницах /tags единожды выводился определенный текст? Текст может быть одинаковым для всех страниц меток. Где копать?
Блоголётчик пишет:
Здравствуйте, подскажите пожалуйста, при создании нескольких пунктов в верхнем меню все они имеют одинаковые теги описания и ключевых слов. Их можно как то уникализировать для каждого пункта меню? Хочется использовать движок для практически статического сайта из за его легкости, динамического контента не будет, важно именно статические страницы. Кстати применения статическим страницам встроенным в движке так и не нашел, ткните плиз, где почитать, или хотя бы подскажите какие слова будут на искомой странице, буду гуглить... спасибо
Движок как раз сео ориентирован - лишь на небольшом количестве страниц трудно отредактировать в секции head keywords, description - но вообще то сео это не только эти два тега...
Да, виджет комментов что то сломаля, надо будет посмотреть в чем дело