+6.74
Рейтинг
13.68
Сила

Плагин "Комментарии без регистрации" для 0.4.2

Данный плагин позволяет посетителям сайта оставлять комментарии без регистрации. Будет особенно полезен тем сайтам, где пользователи не охотно регистрируются.

Установка плагина, защита от спама и прочее описаны в readme.txt. Перед использованием на всякий случай лучше сделать дамп базы. Технически, плагин представляет из себя симбиоз хаков «Добавление комментариев гостем» и «Добавляем возможность гостевого комментирования топиков», за что отдельная благодарность авторам этих хаков.

Плагин пока проходит модерацию и будет доступен по адресу:
livestreetcms.com/addons/view/63/

UPDATE
Убрал BOM заголовок из файлов + лишнюю проверку на рейтинг для гостей

О ссылке "Все" (топики) на главной странице

Как-то не обращал внимания на следующую ситуацию:
Ссылка, «Все» (насколько понимаю, имеется в виду «Все топики») подразумевает выдачу всех топиков из всех блогов (коллективных и персональных), но фактически ведет на главную страницу. На главной же странице отображаются только те топики, которые «выведены» на главную страницу администратором. Это вводит посетителей в заблуждение.

1. Каким образом можно отобразить действительно все топики из всех блогов?

Для себя я нашел решение в виде плагина stream. Изначально он предназначен для выдачи всех топиков в порядке, соответствующем дате последнего действия с топиком (изменение, комментарий). Изменив условие я сделал выдачу топиков по дате создания.

Правда, хотелось бы использовать данный плагин и по прямому его назначению.

2. Может у кого-то есть другие идеи?

Livestreet: дао разработчика - 1

Я сейчас работаю над одним проектов, в качестве платформы для которого я выбрал Livestreet. Так как с инфой для программистов у этого движка туго, я буду выкладывать те вещи, который я узнал о движке здесь. Надеюсь, это поможет остальным начинающим программистам на LS.

Я работаю с движком всего несколько дней, поэтому что-то в описании может быть неточно или неполно. Не стесняйтесь поправлять.

Цель этого цикла — дать поверхностный, но глобальный взгляд на движок, чтобы снизить порог вхождений. Плюс собрать все актуальные (0.4.1 и выше) ссылки, относящиеся к разработке в одно место.

Итак.

Для начала стоит пробежаться по существующей документации для разработчика (http://trac.lsdev.ru/livestreet/wiki/DeveloperDoc), чтобы понимать термины.
Откройте в IDE движок, пробежитесь по папкам движка, по плагину page, который идет в комплекте с движком.

В движке Livestreet:
Экшены, содержащие Ивенты (action, events) — это, кто знаком с MVC — контроллеры.
Модули (module) — куски кода, которые осуществляют некий функционал (например, функционирование блогов, топиков, комментов). В процессе своей работы они обращаются к Мапперам (mapper) для того, чтобы пообщаться с базой данных. Все sql-запросы пишутся именно в мапперах. Мапперы в свою очередь используют Сущности (entity), которые переводят массивы, отданные mysql в объекты, с которыми потом работает движок.

Способ модификации кода Livestreet два.

1. Через переопределение существующих функций. Меняется целиком существующая функция в модуле/маппере/сущности, или добавляется своя. Подробно: livestreet.ru/blog/dev_documentation/4499.html

2. Через хуки. При этом вставляется код в указанное место движка.
Хуки можно вставить в места, определенные конструкцией $this->HookRun(...); в движке, а также на начало и конец любого модуля, зарегистрированного в системе (не важно, системный он, или установлен каким-то плагином). Подробно про хуки в моделях: livestreet.ru/blog/dev_documentation/3991.html.

Переопределения эти делаются в плагинах. Подробнее о плагинах и их устройстве: livestreet.ru/blog/dev_documentation/3531.html

Как делать эти самые плагины — подробно поговорим во второй части.

Вторая часть

Блок "Похожие темы"

Очень не хватало блока «похожие топики».

Решил быстренько написать, но потратить времени, пришлось больше, чем я предполагал.

Модуль брать тут

Процесс установки:
1. Выполнить SQL запрос (для добавления нужного индекса. схожесть тем ищем сразу по двум полям title и tags):
alter table prefix_topic add fulltext key `title_tags` (topic_title, topic_tags);

2. Содержимое каталогов classes/ config/ и templates/ копируем (со всеми подкаталогами) в корневой каталог сайта где установлен LiveStreet.

3. Скопировать файл templates/skin/new/block.similarTopics.tpl в каталог активного скина.

Количество выводимых тем можно настроить в файле config/modules/similartopics/config.php.
SIMILARTOPIC_COUNT — количество выводимых тем (по умолчанию 5)
SIMILARTOPIC_SCORE — минимальное количество баллов, при котором тема считается похожей. рекомендуется выше 3-4, но на небольших сайтах можно и пониже. (по умолчанию 3).

Слегка неудобен процесс добавления блока. было бы хорошо, если бы была возможность указания порядка отображения блока (приоритет). и получение текущего списка блоков (для замещения, или вставки блока в зависимости от ситуации). но это так, мысли вслух.