Создание тем для LiveStreet: руководство для новичков.

Дорогие друзья! В первую очередь, хочу поблагодарить создателей проекта, а так же всех, кто приложил немало усилий в развитии такой замечательной CMS как LiveStreet. Спасибо вам!

Я абсолютный новичок в LS, да и в программировании в целом. Но мне очень хочется научиться работать с этой CMS, на уровне создания своих, собственных тем. Благо, здесь есть достаточно много информации для самостоятельного изучения и отзывчивые специалисты, судя по комментариям.

Мне бы хотелось внести свой вклад, написав подробное руководство, по основам создания тем для блога на основе LS. У меня был опыт создания тем для wordpress, на этом, мое понимание как это делать и заканчивается, но если найдутся люди, готовые помочь разобраться в основах на практике, я буду рад, отразить эти результаты в подробном руководстве для начинающих.
Говоря проще, если найдутся люди, готовые возиться с новичком, я готов подробно, в картинках, описывать весь процесс создания темы. Большинство своих вопросов, я буду начинать с фразы “как сделать”, но постараюсь задавать их в правильной форме, чтобы всем было легче понять чего я хочу и какой именно ответ нужен.

Пожалуйста, если мое предложение уместно и кто-то готов помочь в написании такого гайда, пишите ответы и предложения :)

Первый и самый важный для меня вопрос:

  1. Уместно ли в вопросах, проводить аналогию с WordPress? То есть, спрашивать как создать ту или иную функцию, приводя в пример ее реализацию на wp. Или же сам метод создания тем настолько отличается, что ответа на подобные вопросы никто не даст?

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

avatar
Уместно ли в вопросах, проводить аналогию с WordPress?
ИМХО лучше хоть что-то чем ничего!
avatar
Ок, тогда мои первые вопросы. Надеюсь, получится найти «общий язык» :)
avatar
Первая попытка правильно выразить свои мысли и найти общий язык. Важные моменты буду выделять.

Начинаем новую тему:

В случае с Wordpress:
1. Создаю папку в /themes/, например “mytheme”
2. Создаю файлы index.php и style.css
3. В index.php делаю привязку к style.css ( bloginfo('stylesheet_url')… etc)
4. И по сути — начало готово. В админке активирую тему (параметры указаны в style.css) и выходя на главную страницу блога, вижу пустую страницу.
5. Между тэгами
<body>
и
</body>
, пишу <?php bloginfo('name'); ?>
6. Результат, в верху страницы вижу заголовок блога.

Вот так примерно можно представить основные файлы шаблона WP:


Как подобным образом, вызвать заголовок блога в LiveStreet, в собственной теме?
То есть:
1. Создаю папку в /skin/, например "mytheme"
2. В config.php в строчке $config['view']['skin'] = пишу 'mytheme'
3. Что дальше? Какой минимум нужно создать, для отображения пустой страницы?
4. Что и где нужно прописать для простого отображения заголовка сайта?
5. Как выглядят основные файлы шаблона в LS? За что каждый из них отвечает (почему является необходимым)?

P.S. Возможно, я мыслю не в том направлении, тогда прошу меня поправить.
P.P.S. Я понимаю что засыпая вопросами, рискую остаться без ответов, все так или иначе ценят свое время. По-этому, я совсем не жду полноценного ответа в одном посте. Так что, если вы найдете время ответить хотя бы на пару вопросов, буду очень вам благодарен.
avatar
Отличие в том, что в LS тема состоит из Action'ов, т.е. есть, например, ActionIndex — главная страница, ActionBlog — топик/блог, но сами шаблоны экшенов состоят в основном из инклюдов других шаблонов с параметрами
avatar
xyz Прошу прощения, пока недостаточно опыта, мне довольно трудно понять, зачем это нужно? То есть разделение на простой файл шаблона и файл в папке action. Попробую разобраться, но если найдете время пояснить более доступно, буду рад :)
avatar
все страницы сайта в ЛС разделены на Action'ы — экшн для топика, для блога, для написания инбокса, для регистрации и т.п.
внутри экшена может быть несколько подразделов — например, в ActionLogin — логин и логаут
при этом шаблоны делаются по такому же принципу — для каждого «действия» есть свой шаблон, он лежит в подпапке actions и состоит (чаще всего) из инклюдов других файлов с параметрами (например экшн топика подключает вывод хидера (с сайдбаром), вывод самого топика, комментариев и футера)
avatar
лучше сделать все же как сказано в этом комментарии ибо таким маленькими шагами вы будете ооочень долго строить, учитывая количество файлов в ЛС (пара сотен).
avatar
Наверно, лучшим способом будет перебрать все файлы и самому увидеть весь код, чем кто-то будет объяснять.
А вот после, уже задавать вопросы касающиеся конкретной функции.

3. Открыть grid.css, header.tpl, footer.tpl. В grid.css записываются основные стили сайта. В header.tpl подключаются скрипты, стили и «открывается» весь сайт. В footer.tpl «закрывается» сайт. А вывод заключен в разных файлах, таких как: header_top.tpl, nav.tpl, sidebar.tpl, topic.tpl и т.п.
4. header.tpl, 7 строка
<title>{$sHtmlTitle}</title>
5. Видел, вы уже добавили топики «Список файлов шаблонов 0.5 версии». Если есть какие-то вопросы по ним — пожалуйста.
avatar
Пока на скорую руку, ничего не вышло. Попробовал просто скопировать файлы grid.css, header.tpl, footer.tpl из шаблона new-jquery в пустую папку, своего шаблона. Все то же, что и при пустой папке, Fatal Error… То есть, этих 3-х файлов в папке с шаблоном для запуска чистой страницы, с отображением заголовка сайта, явно недостаточно. Или я что-то неправильно делаю?
avatar
bamboo большое вам спасибо за замечательный обзор файлов шаблонов, не знаю что бы я без него делал :) Последние 3 дня не мог сесть за изучение LS, свободное время сейчас, к сожалению, сильно ограничено. Разбираюсь, по мере сил.
Назрел вопрос о рейтинге, силе и карме:

1. Сила и Карма — это одно и то же? То есть, просто некоторые пользователи Силу называют Кармой? Или есть какой-то скрытый алгоритм именно "кармы"?

2. Можно ли искусственно начислить пользователю рейтинг и силу? Если да, то как?

3. Если можно, подробно: за что и в каком кол-ве начисляется и снимается сила и рейтинг? Можно ли, и если можно, то как изменить алгоритм начисления рейтинга и силы?
avatar
1. Сила зависит от написанных постов. Она определяет, на сколько будет изменен рейтинг юзеру, блогу и т.д. Рейтинг зависит от оценок твоего профиля, твоих комментов, блогов и т.п.
2. Рейтинг — либо через AceAdminPanel, либо руками в базе. Силу — только руками в базе. После операций с базой данных надо очистить кэш.
3. Изменять естесственно можно, только надо найти, где изменять =). В каком количестве — не знаю, но принцип думаю ясен. Написал пост или коммент — "+" в силу.
avatar
Насчет кармы, я думаю, так называют рейтинг, хотя мнения могут различаться. Так как в базе только user_skill и user_rating.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.