Использование LiveStreet как фреймворка
27
LiveStreet — это не просто хабра-подобный движок. И даже не столько движок для создания сообществ, сколько замечательный фреймворк, который подходит для создания самых разнообразных сайтов.
Получается, что от хостинга требуется только php, т.к. для простого сайта-визитки работать с БД совсем необязательно!
Разумеется сайт из пары страниц можно оставить на простом html, но этим постом я хочу показать, что LS можно использовать для создания сайтов абсолютно любого типа.
В общем, кому стало интересно — прошу под кат.
Итак, как же можно это использовать.
Рассмотрим на примере 0.4 (почти всё остаётся в силе и для 0.4.1).
Распаковываем архив на сервере и приступаем к удалению лишнего.
Весь необходимый функционал движка лежит в директории
engine
, а вот весь функционал блогов, юзеров и прочего лежит в директории
classes
заходим туда и удаляем ненужные файлы блоков, модулей, хуков и экшенов.
В директории экшенов (actions) необходимо оставить
Init.class.php
— инициализация экшенов
ActionIndex.class.php
— работа над отображением главной странички
ActionError.class.php
— отображение ошибок
Очищаем include/ajax
далее идём в
templates/skin/new/
и удаляем ненужные шаблоны
(впрочем этот шаг можно и нужно сделать по-другому — просто полность создав свой шаблон, но более быстрый путь — переделка дефолтного шаблона, который потом можно переименовать по-новому)
я оставил только
footer.tpl
footer.light.tpl
header.tpl
header.light.tpl
system_message.tpl
в
templates/skin/new/actions
оставляем только шаблоны для
ActionError
ActionIndex
разумеется, шаблон ActionIndex теперь нужно подправить и вместо вывода списка топиков прописать подключение нового шаблона, например так:
{include file='header.tpl'}
{include file='index.tpl'}
{include file='footer.tpl'}Что дальше?
Дальше можно удалить ненужные картинки из
templates/skin/new/images
и залить туда свои.
Не забыть сменить favicon.ico ;)
Закинуть js-скрипты и новые css-файлы.
Далее нужно очистить оставшиеся файлы от вызовы модуля… User :)
Да-да модуль User оказался самым вездесущим.
Первым делом нужно удалить блок статистики для админа из корневого
index.php (в 0.4.1 этого блока уже нет)
— в 0.4 этот блок идёт в самом низу и начинается строчками
<?php
$oUser=$oRouter->User_GetUserCurrent();
if (Router::GetIsShowStats() and $oUser and $oUser->isAdministrator()) {
?>
Так же User вызывается в конструкторе classes\actions\Init.class.php — убираем.
Далее идём в конфигурационный файл и убираем этот же модуль из автозагрузки :)
// Какие модули должны быть загружены на старте
$config['module']['autoLoad'] = array('Hook','Cache','Security','Session','Lang','Message');Там же прописываем название сайта, ключевые слова и настраиваем остальные параметры.
Настраиваем нужным образом роутинг, убрав лишнее и оставив необходимое:
$config['router']['rewrite'] = array();
// Правила реврайта для REQUEST_URI
$config['router']['uri'] = array(
// короткий вызов топиков из личных блогов
'~^(\w+)\.html~i' => "index/\\1.html",
);
// Распределение action
$config['router']['page']['error'] = 'ActionError';
$config['router']['page']['index'] = 'ActionIndex';
// Глобальные настройки роутинга
$config['router']['config']['action_default'] = 'index';
$config['router']['config']['action_not_found'] = 'error';
удаляем из
$config['block']подгрузку ненужных блоковиз
$config['head']['default']['js'] ненужных js-файлов(это подразумевает, что при желании можно вместо mootools-а использовать jQuery — тут вы полный хозяин положения :)
, а из
$config['head']['default']['css'] ненужных css-файлов.Вот и всё. Остаётся прописать нужную логику в
ActionIndex.class.php
пример:
public function Init() {
$this->SetDefaultEvent('index');
}
/**
* Регистрация евентов
*
*/
protected function RegisterEvent() {
$this->AddEvent('index','EventIndex');
}
/**********************************************************************************
************************ РЕАЛИЗАЦИЯ ЭКШЕНА ***************************************
**********************************************************************************
*/
/**
* Реализация евента
*
*/
protected function EventIndex() {
/**
* Устанавливаем шаблон вывода
*/
$this->SetTemplateAction('index');
}, затем залить свои шаблоны для остальных страниц и можно работать — создавать новые базовые модули, переписывать старые :) Т.е. создавать абсолютно и полностью новую начинку движка подходящую именно для Вашего проекта!
Главное — не забыть добавить в футере гордую строчку: © Powered by
UPD
Пример чистого шаблона для статьи можно скачать здесь:
- +11
- 11 июня 2010, 15:11
- noonv
лучше и продуктивней если у пользователя будет выбор, в ввиде готового фреймворка и блогосоциального движока, потому что человеку которому нужен чистый и рабочий фреймворк сразу для работы, не нужно «ближе знакомиться с устройством движка», он плюнет и найдет нормальный рабочий вариант без танцев с бубнами.это аналогично что выложить весь движок LS по частям и написать «соберите, тут все просто, заодно поближе познакомитесь с устройством движка»
такие статьи должны быть, безусловно, но как правильно заметил noonv, для ознакомления с устройством движка.
такие статьи должны быть, безусловно, но как правильно заметил noonv, для ознакомления с устройством движка.

- sidney_yang
- 11 июня 2010, 17:28
- ↓
А потом танцевать с бубном при обновлениях )))
— Зачем обновлять такие сайты? Вполне можно будет поставить и забить!
— А зачем тогда на такие сайты ставить LS? Вполне можно поставить безбазовый движок на сотню килобайт, из которого вообще не понадобится ничего вычищать (и который легче для хостинга).
— А зачем тогда на такие сайты ставить LS? Вполне можно поставить безбазовый движок на сотню килобайт, из которого вообще не понадобится ничего вычищать (и который легче для хостинга).
Комментарии (12)
RSS свернуть / развернуть