О блоге
Блог посвящён технической документации LiveStreet для разработчиков.
Здесь вопросы-ответы только по внутреннему устройству движка, для лучшего понимая как адаптировать модули и писать новые.
Администраторы (1)
Модераторы (0)
Модераторов здесь не замеченоЧитатели (286)
Fanta yuri25 Zarayan Lora_GT sovetnik skif onthefly benone Carw Karl kruft cwer eXtravert daewoo antweb deniart rdk g15rus nytro xRayВсе читатели блога
Установка Livestreet с нуля (Debian): nginx + mysql + php-fpm + apc + memcached + sphinx
44
Возможно, этот гайд даже кому-нибудь понадобится.
0) Итак, у нас имеется свежепоставленный Debian с настроенным ssh-доступом и юзер с правами, достаточными для работы sudo.
Здесь и далее "#" в начале команды означает, что ее необходимо запускать с правами root-пользователя (например, с помощью sudo)
1) Пакеты будем ставить из репозитория dotdeb, поэтому для начала добавим его в sources.list:
дописываем в конец файла
Далее импортируем ключ dotdeb'а:
Обновляем список пакетов
Читать дальше
0) Итак, у нас имеется свежепоставленный Debian с настроенным ssh-доступом и юзер с правами, достаточными для работы sudo.
Здесь и далее "#" в начале команды означает, что ее необходимо запускать с правами root-пользователя (например, с помощью sudo)
1) Пакеты будем ставить из репозитория dotdeb, поэтому для начала добавим его в sources.list:
# nano /etc/apt/sources.listдописываем в конец файла
deb http://packages.dotdeb.org stable allДалее импортируем ключ dotdeb'а:
wget http://www.dotdeb.org/dotdeb.gpg -O - -q | sudo apt-key add -Обновляем список пакетов
# apt-get update
Читать дальше
Рекомендация к использованию: Наследование шаблонов
19
На примере будущего jQuery-шаблона для ПриветСочи.ру решил выложить мини-инструкцию использования наследования шаблонов, сильно сокращающий количество часто повторяющегося Smarty-кода.
ZIP-архив с примером
Коротко о файлах в примере (ссылка на архив внизу):
- topic.prototype.tpl — прототип топика, содержащий всю повторяющуюся разметку. Использованы вложенные конструкции типа
{block name=...} - topic_link.tpl, topic_photoset.tpl, topic_question.tpl, topic_topic.tpl — файлы, наследующие и заменяющие/дописывающие некоторые блоки прототипа топика (topic.prototype.tpl)
- topic.social.tpl — включение с кодом кнопочек публикации в разные соц-сети.
Коротко о содержании файлов:
Посмотрев файлы примера, не сложно заметить, что файлы topic_*.tpl содержат:- в начале каждого файла наличиствует код
{extends file=topic.prototype.tpl} - минимум специфической разметки, обрамленной в конструкции
— это замены и дополнения блоков. Флаг может либо отсутствовать (что означает полную замену содержимого блока), либо принимать принимать значения:{block name=... флаг}
- append — дописывает в конец содержимое блока к наследуемому блоку.
- prepend — дописывает в начало содержимое блока к наследуемому блоку.
- hide — скрывает блок (насколько я понял, если добавить в блок прототипа, то по умолчанию блок будет скрыт).
- nocache — запрещает кеширование содержания блока (а это вообще актуально для LS?).
Документация
ZIP-архив с примером
- +7
- 08 апреля 2012, 14:55
- 1d10t
- Оставить комментарий
Помечаем куски шаблонов в скомпилированой странице for 0.5.1
25
Навеяно топиком, хотя сам использую для верстки практически с момента выхода 05 версии, както не подумал что это может быть полезно и другим ;) исправляюсь )
Читать дальше
Читать дальше
Мануал по интеграции плагинов с плагином "Role", на примере плагина "Публикация от чужого имени"
11
Данный топик является примером интеграции ролей с другими плагинами, и никак не призывом к действию. Предложения и замечания принимаются в комментариях.
Первое что нужно сделать для интеграции — это создать чекбоксы для плагина "Публикация от чужого имени" в добавлении и редактировании ролей.
Плагин "Role" имет хуки.
Читать дальше
Первое что нужно сделать для интеграции — это создать чекбоксы для плагина "Публикация от чужого имени" в добавлении и редактировании ролей.
Плагин "Role" имет хуки.
- template_roles_role — в шаблоне добавления к списку прав роли
- template_roles_user — в шаблоне добавления к списку прав отдельному пользователю
- template_roles_role_show_end — в шаблоне редактирования к списку прав роли
- template_roles_role_user_show_end — в шаблоне редактирования к списку прав отдельному пользователю
Читать дальше
LiveStreet и Nginx вне WebDir
Наткнулся на интересную документацию, по установке LS на Nginx и тут же предложен один из способов борьбы с .htaccess. Быть может, кому-то пригодится.
- +1
- 06 марта 2012, 13:08
- KaMaToZzz
- daily-notes.ru/2012/02/livestr...
- Оставить комментарий
Валидация данных в LiveStreet 0.6
17
В транковую версию LS на github.com добавлен новый функционал — валидация данных и полей сущностей. Этот функционал призван заменить функцию func_check(). За основу был взят функционал валидации Yii.
На данный момент доступны следующие типы валидации:
Читать дальше
На данный момент доступны следующие типы валидации:
- Boolean — проверка значения на булевый тип
- Date — проверка значения на формат даты и времени
- Email — проверка корректности емайл
- Inline — валидация произвольным методом сущности или другого объекта
- Number — проверка на числа
- Required — проверка на пустое или конкретное значение
- String — проверка строк на длину
- Type — проверка на тип значения
- Url — проверка на корректность URL
Как использовать
В сущности необходимо составить список правил валидации.class PluginTest_ModuleMain_EntityTest extends Entity {
protected $aValidateRules=array(
array('login, name','string','max'=>7,'min'=>'3'),
array('title','my','on'=>'register'),
);
public function ValidateMy($sValue,$aParams) {
if ($sValue!='Мега заголовок') {
return 'Ошибочный заголовок';
}
return true;
}
}Читать дальше
Как создать свой вид топика, используя систему плагинов
49
3 года назад было написано Руководство: Как создать свой вид топика на LiveStreet. В то время ещё не было системы плагинов, и всё делалось «топорно», что в последствии затрудняло обновление движка, т.к. приходилось свои куски кода вставлять опять. С появлением системы плагинов LiveStreet стал более гибким и легко обновляемым. Передо мной встала задача создать новый вид топика, и я решил сделать это плагином. Но в процессе выяснилось, что то ли я чего-то не знаю, толи этого нет. Напишу, что и как я делал, заодно задам вопросы, может быть на них решение уже есть. Надеюсь, совместно у нас получится сделать каркас нового типа топика в форме плагина.
Читать дальше
Кеширование или как много хорошего в этом слове
23
Думаю не для многих разработчиков есть секретом что в ЛС встроен механизм кеширования информации, полученной от БД. Но мои частые наблюдения сообщают о другом — я не могу вспомнить сторонние плагины, которые использовали бы кеширование в своей работе. Да что лукавить — я сам его обходил стороной часто. Поэтому этот топик призван пролить луч света на использование кеширования в ЛС в своих плагинах, т.к. это довольно просто.
Читать дальше
ORM и ActiveRecord в 0.5 и выше
30
Выход версии 0.5 для меня было нечто большим, чем добавление страницы активности и ленты топиков из подписанных блогов. В новой версии реализованы ORM и ActiveRecord. Вместе они дают мощнейший инструментарий для разработчика, избавляя того от кучи однотипного кода, который приходилось писать каждый раз при разработке плагина. Тот-же форум, о котором будет идти речь в статье, после обновления похудел на 2177 строк кода. В этой статье я хочу углубиться в ORM и AR на примере создания плагина для LiveStreet.
Читаем дальше...
Читаем дальше...
Система блоков
79
Если пробежаться глазами по сайтам, созданным с ее помощью несложно заметить, что большинство из них наследует две колонки стандартных шаблонов.
Но ведь LS может похвастаться простой, но от этого не менее функциональной системой блоков. Почему владельцы сайтов не используют ее? Возможно, дело в документации?
Это я сегодня с Вашей помощью и попробую исправить.
Читать дальше
Но ведь LS может похвастаться простой, но от этого не менее функциональной системой блоков. Почему владельцы сайтов не используют ее? Возможно, дело в документации?
Это я сегодня с Вашей помощью и попробую исправить.
Читать дальше