+85.90
Рейтинг
230.31
Сила

Владимир

Как сохранить совместимость при адаптации js шаблона (плагина) к js движка

Зачастую при адаптации шаблонов/плагинов так и тянутся руки поправить js в движке, что чревато потерей совместимости с другими шаблонами и плагинами.

Чтобы разобраться с этим вопросом и с целью самообразования, решил написать этот топик — может кому-то пригодится.

Какие есть варианты:
  1. Редактировать js-файлы прямо в движке
  2. Переписать (переопределить) нужный метод

Читать дальше →

Создание простого плагина. Пошаговая инструкция для новичков. Часть 1

Данный материал предназначен для новичков в мире Livestreet, желающих разобраться с базовыми особенностями работы с системой плагинов.

Создадим простой плагин, который будет создавать объект «Book» из введенных пользователем данных и сохранять в базу данных. А на отдельной страничке — выводить все созданные объекты Book списком.

Читать дальше →

Плагин «Документация для шаблона»

Делал прежде всего для себя, однако может кому еще надо подобное.

Простой мини плагин для разработчиков шаблонов. Позволяет создавать страницу с документацией. Или можно сделать FAQ например.

Что он делает?

— Создает страницу /about
— Добавляет ссылку в админку на страницу /about
— Показывается страница только админу
— Подключает style.css для оформления страницы
— Языковые файлы
— Шаблон страницы index.tpl

Адаптивные видео в шаблонах с Bootstrap (Решено)

В Bootstrap-е есть замечательная возможность сделать встраиваемые видео адаптивными. Для этого нужно для iframe (или object) видео присвоить класс embed-responsive-item, а затем обернуть в блок с классом embed-responsive embed-responsive-16by9 (source).
<div class="embed-responsive embed-responsive-16by9">
    <iframe class="embed-responsive-item" src="..."></iframe>
</div>

Естественно, это будет работать только на bootstrap-based скинах. Благо, таковых много, в основном благодаря vOFFka , за что ему огромное спасибо!

Задумался, как реализовать это в Livestreet:
Все работает, если подкорректировать замену тега video, добавив указанную выше конструкцию в Text.class.php.

Однако подобные изменения коснутся любого скина. У нас же фича скин-специфичная.

Вопрос:
Как реализовать подобную обертку, чтобы она работала только для определенного скина? М.б. js?

UPD: Решение при помощи js:
В файл template.js в шаблоне добавляем две строки:
$("iframe").addClass('embed-responsive-item');
$("iframe").wrap('<div class="embed-responsive embed-responsive-16by9"/>');

Борьба с попаданием автоматических писем с сайта в спам [ЧАСТИЧНОЕ РЕШЕНИЕ]

Потратил кучу времени на решение проблемы, а именно письма-оповещения с сайта попадали в СПАМ, особенно остро стояла проблема с Google. На данный момент я смог побороть этот недуг и хочу поделиться с вами своим решением.



Читать дальше →

Как получить в шаблоне значение из конфига плагина?

Пишу так:
{$smarty.config.plugin.myPlugin.profilename.charlimit.max}


В конфиге это выглядит так:
$config['profilename']['charlimit']['max'] = 19;


Но ничего не выводится. Почему?

Дополнительные поля - использование в плагинах

В новой разрабатываемой версии LiveStreet есть функционал дополнительных (пользовательских) полей. Сейчас он задействован для топиков. Суть сводится к удобной возможности добавлять в различные объекты новые поля разных типов.

Сейчас поддерживаются следующие типы полей:
  • Целое число
  • Дробное число
  • Строка
  • Текст
  • Чекбокс
  • Дата
  • Выпадающий список
  • Теги
  • Ссылка на видео
  • Файл
  • Изображение

Постепенно мы наращиваем функционал и количество типов.
За весь функционал по полям отвечает модуль Property. Рассмотрим пример подключения функционала дополнительных полей к плагину «Статьи» на базе ORM.

Читать дальше →