Оптимизация шаблонов

Разработка под LiveStreet CMS

Пролог


Наброски по данной статье лежали ещё с конца зимы и все никак не было времени на её написание, поэтому решил опубликовать её почти «как есть» т.е. с сухими выжимками фактов, без расписанных деталей. Это поможет остальным членам сообщества совершенствовать свои .

Оптимизация шаблонов →

Плагин «Оптимизация, внутренняя перелинковка сайта и замена слов (Cross linker)», новый функционал

НОВОЕ


В версии плагина 3.0.0:

  • фикс бага, когда неверно обрабатывался текст, если было правило с оставленной запятой в конце, которое воспринималось как ещё одно пустое значение. Теперь запятые в конце правил игнорируются.
  • в плагин добавлен новый модуль «Closer topic access», который добавляет в код главной страницы ссылки на лучшие топики (которые выводяться на главной странице). Этот список состоит из ссылки на топик и заголовка топика в качестве текста ссылки.
  • небольшие мелкие правки, улучшающие .

Плагин «Оптимизация, внутренняя перелинковка сайта и замена слов (Cross linker)», новый функционал →

Почему пользователь покинул сайт, но в профиле все ещё показывается что он "онлайн"?

FAQ
Нужно понимать как работает режим «онлайн/офлайн» для каждого пользователя. Это не онлайн игра с постоянным пингом (связью) между пользователем и сервером, здесь пользователь считается онлайн в течении 10 минут после последнего визита (загруженной им страницы). Т.е. пока не пройдет 10 минут с момента ухода пользователя с сайта, он будет виден как онлайн.

Почему пользователь покинул сайт, но в профиле все ещё показывается что он "онлайн"? →

Как рассчитывается количество доступных инвайтов для пользователя?

FAQ
Во-первых каждый пользователь может генерировать инвайты, если режим регистрации по инвайтам был включен на сайте.

Как рассчитывается количество доступных инвайтов для пользователя? →

Как перенести админку на другой адрес? Например, на сайт/myadminpath

FAQ
В конфиге движка есть опция реврайта (rewrite), которая перенаправляет с указанных адресов на пути, уже указанные в движке для роутера.

Для решения поставленного вопроса нужно добавить новую запись подобную этой в файл config.local.php движка:


$config['rewrite'] = array('admin' => 'myadminpath');


После этого админка лс будет доступна по новому адресу — сайт/myadminpath.

Яндекс не индексирует топики из-под админа при включенном NiceURL

Трюки с LiveStreet
Интересная ситуация-совпадение: при включенном плагине NiceURL и его штатных настройках, топики, опубликованные в персональном блоге под пользователем admin могут не индексироваться, если вы используете файл (или плагин-эмулятор) robots.txt, в котором есть строка подобная этой:

Яндекс не индексирует топики из-под админа при включенном NiceURL →

Плагин автокомплита (автодополнения) по методам LiveStreet CMS для PhpStorm IDE

Разработка под LiveStreet CMS
Некоторое время назад из ЛС отделилась часть кода в отдельный фреймворк (пока не анонсирован), на котором можно строить свои проекты. Просматривая текущей девелоперской версии ливстрита на гитхабе, можно заметить что в корне остались всего лишь две папки с кодом: application и framework.

Плагин автокомплита (автодополнения) по методам LiveStreet CMS для PhpStorm IDE →

Как сделать форму комментариев по-умолчанию раскрытой в шаблоне synio

FAQ
Вопрос: как сделать форму комментариев по-умолчанию раскрытой при полном просмотре топика в стандартном шаблоне synio?

Как сделать форму комментариев по-умолчанию раскрытой в шаблоне synio →

Разбор ошибок начинающего ливстрито-вода при смене хостинга

FAQ
После некоторого времени (как всегда — неожиданно) на сайте перестали отображаться изображения на кнопках. После долгих вопрос-ответ стало ясно, что тут без осмотра не обойтись.

Вооружившись минуткой свободного времени я взглянул под капот, а там…

Разбор ошибок начинающего ливстрито-вода при смене хостинга →

Другое фоновое изображение для незарегистрированных пользователей

Трюки с LiveStreet
Сегодня пользователь задавал вопрос как сделать фон для страницы блогов.

Хочу сделать заметку что ЛС добавляет к тегу body класс в зависимости от роли пользователя на сайте. Для тега body движком могут быть заданы следующие типы классов: ls-user-role-user, ls-user-role-admin, ls-user-role-guest, ls-user-role-not-admin, смысл которых понятен из их названия.

Другое фоновое изображение для незарегистрированных пользователей →

Вопросы по автоматическому заполнению таблицы топиков, например, при парсинге

FAQ
1. Для размещения топика (напрямую через БД) достаточно ли создания соответствующих строк в таблицах prefix_topic_content и prefix_topic? или нужно еще где-то что-то создавать? (блоги созданы)
+ теги заполнить (если нужны)
+ оповестить подписчиков блога (если нужно)
+ добавить событие в ленту (stream) (если нужно чтобы топик там появился)

Вопросы по автоматическому заполнению таблицы топиков, например, при парсинге →

Плагин «Администрирование пользователей (Admin users)», обновление

НОВОЕ


  • небольшие улучшения кода
  • фикс бага, когда пароль не отправлялся на почту для вновь созданного пользователя при быстрой регистрации
  • длина автоматически создаваемого пароля для новых пользователей выставляется в конфиге плагина
  • в меню профиля пользователя добавлен пункт «Добавить в «последние маски»», который добавит маску пользователя на панель последних масок для быстрого доступа
  • исправлен вид иконки смены автора топика для шаблонов основанных на шаблоне «developer»
  • добавлена возможность простой смены почты, пароля и логина пользователя
  • в профиле пользователя панель управления стала больше по размерам, поэтому пришлось её переместить в сайдбар, где она смотрится значительно лучше

Плагин «Администрирование пользователей (Admin users)», обновление →

Как публиковать видео в livestreet

FAQ
И я добавлю что-нибудь от себя :)
Для улучшения безопасности, в ливстрите запрещена вставка трех тегов iframe, embed & object с неразрешенных доменов. По-умолчанию в «белом списке» лишь ютуб, вимео и рутуб.

Как публиковать видео в livestreet →

Как добавить свой домен в список разрешенных?

FAQ
На вопрос уже был ответ, как добавить домены в список разрешенных для вставки видео и др.. Это тот же ответ, но немного в другой реализации и когда нужно всего лишь разрешить свой же домен (домен сайта, на котором и крутится ливстрит) для вставки фреймов.

Как добавить свой домен в список разрешенных? →

Вопросы разработчика

FAQ
На оф. комьюнити был топик с вопросами, решил ответы также опубликовать здесь.

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

Вопросы разработчика →

Прячьте дампы БД плагинов

Разработка под LiveStreet CMS
Почти во всех плагинах разработчики оставляют файлы дампов (структуры) БД в корневой папке плагина, тем самым делая возможным получение информации о структуре таблиц плагина, что само по себе ничего плохого не означает, но лучше потенциальному взломщику ничего не знать о полях таблиц.

Прячьте дампы БД плагинов →

Объяснение структуры каталога загрузки изображений

FAQ
Вопрос пользователя:
Но обнаружил что движок хранит каждое изображение в отдельной папке, используя совершенно не понятный мне алгоритм.

Объяснение структуры каталога загрузки изображений →