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 теперь нужно подправить и вместо вывода списка топиков прописать подключение нового шаблона, например так:
Что дальше?
Дальше можно удалить ненужные картинки из 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');
Там же прописываем название сайта, ключевые слова и настраиваем остальные параметры.
Настраиваем нужным образом роутинг, убрав лишнее и оставив необходимое:
, затем залить свои шаблоны для остальных страниц и можно работать — создавать новые базовые модули, переписывать старые :) Т.е. создавать абсолютно и полностью новую начинку движка подходящую именно для Вашего проекта!
может быть. но лучше — каждому проделать эти простые шаги самостоятельно. Так можно поближе познакомиться с устройством движка ;) пример вычищенного шаблона
лучше и продуктивней если у пользователя будет выбор, в ввиде готового фреймворка и блогосоциального движока, потому что человеку которому нужен чистый и рабочий фреймворк сразу для работы, не нужно «ближе знакомиться с устройством движка», он плюнет и найдет нормальный рабочий вариант без танцев с бубнами.это аналогично что выложить весь движок LS по частям и написать «соберите, тут все просто, заодно поближе познакомитесь с устройством движка»
такие статьи должны быть, безусловно, но как правильно заметил noonv, для ознакомления с устройством движка.
— Зачем обновлять такие сайты? Вполне можно будет поставить и забить!
— А зачем тогда на такие сайты ставить LS? Вполне можно поставить безбазовый движок на сотню килобайт, из которого вообще не понадобится ничего вычищать (и который легче для хостинга).
Основа движка (фреймворка) начиная с версии 0.4 для этого и вынесена в отдельный каталог engine. Так что больших проблем при обновлении быть не должно.
Я никого не агитирую использовать данный метод. Просто показал, что такое возможно и очень просто реализуется.
18 комментариев
*или будет время почищу выложу)
без танцев с бубнами.это аналогично что выложить весь движок LS по частям и написать «соберите, тут все просто, заодно поближе познакомитесь с устройством движка»такие статьи должны быть, безусловно, но как правильно заметил noonv, для ознакомления с устройством движка.
— Зачем обновлять такие сайты? Вполне можно будет поставить и забить!— А зачем тогда на такие сайты ставить LS? Вполне можно поставить безбазовый движок на сотню килобайт, из которого вообще не понадобится ничего вычищать (и который легче для хостинга).
Я никого не агитирую использовать данный метод. Просто показал, что такое возможно и очень просто реализуется.
Спасибо вам. Сейчас можно пробовать сделать что-нить другое, модифицировать двиг.
и можно писать плагин для ORM/ActiveRecord
github.com/livestreet/livestreet-framework
Fatal error: Uncaught exception 'Zend_Cache_Exception' with message 'cache_dir is not writable' in /Applications/XAMPP/xamppfiles/htdocs/lsf/engine/lib/external/DklabCache/Zend/Cache.php:141 Stack trace: #0 /Applications/XAMPP/xamppfiles/htdocs/lsf/engine/lib/external/DklabCache/Zend/Cache/Backend/File.php(149): Zend_Cache::throwException('cache_dir is no...') #1 /Applications/XAMPP/xamppfiles/htdocs/lsf/engine/lib/external/DklabCache/Zend/Cache/Backend/File.php(121): Zend_Cache_Backend_File->setCacheDir('/Applications/X...') #2 /Applications/XAMPP/xamppfiles/htdocs/lsf/engine/modules/cache/Cache.class.php(149): Zend_Cache_Backend_File->__construct(Array) #3 /Applications/XAMPP/xamppfiles/htdocs/lsf/engine/classes/Engine.class.php(326): ModuleCache->Init() #4 /Applications/XAMPP/xamppfiles/htdocs/lsf/engine/classes/Engine.class.php(390): Engine->InitModule(Object(ModuleCache)) #5 /Applications/XAMPP/xamppfiles/htdocs/lsf/engine/classes/Engine.class.php(409): Engine->LoadModule('ModuleCache') #6 /Applications/XAMPP/xamppfi in /Applications/XAMPP/xamppfiles/htdocs/lsf/engine/lib/external/DklabCache/Zend/Cache.php on line 141
По ошибке — нужно необходимым каталогам дать права на запись