Плагин HTMLBlocks - простое управление баннерами/счётчиками из админки


Плагин позволяет размещать произвольные HTML/CSS/Javascript блоки в любом месте сайта, где определён вызов хука из шаблона.

Отлично подходит для:
  1. управления рекламными баннерами(в том числе рекламой от Yandex или Google)
  2. вставки кодов счётчиков(напр. Yandex.Метрика, Google Analytics)
  3. вставки кнопок соцсетей
  4. вставки сторонних виджетов для отзывов(напр. от Reformal.ru)
  5. и т.д.

Установка

  1. Скопировать плагин в каталог /plugins/.!!! Директория плагина должна называться htmlblocks!!!
  2. При необходимости отредактировать настройки плагина /plugins/htmlblocks/config/config.php
  3. Активировать плагин.
  4. После активации управление блоками доступно на странице yoursite.com/htmlblocks

Несколько слов о настройках.
В составе плагина идёт файл config/synio_hooks.php — в котором перечислены вызовы хуков для шаблона synio. В основном конфиге есть привязка к этому файлу.
Config::Set('hooks_list_file', 'synio_hooks.php');
Вы можете либо дополнить config/synio_hooks.php своими хуками, либо создать файл с вызовами хуков для своего шаблона и привязать его.

Пример
На своём сайте я размещаю рекламные баннеры в верхней части сайдбара над «Прямым эфиром». В шаблоне synio в этм месте нет выхова хука. Не беда =) Открываем sidebar.tpl и во вторую строку вписываем:
{hook run="sidebar_top"}


Далее, добавляем новый вызов в config/synio_hooks.php (если у Вас используется шаблон synio):
'template_sidebar_top' => 
  array (
    'file' => 'sidebar.tpl:2',//это инфа для админа - чтоб было понятно где находится вызов хука
    'description' => 'Sidebar Top',
  ),


Использование


В плагине реализована группировка блоков на регионы. Регион — это контейнер для HTML-блоков, которые отображаются в определённом месте на сайте.


Именно регион привязывается к определённому месту на сайте (вызову хука из шаблона):


После того как создали регион, можно добавлять в него блоки.


В редакторе блока кроме кода баннера также можно указать
  • дату начала и окончания показа (есть выпадающий виджет календаря),
  • шаблоны URL по которым показывать или не показывать блок (используется механизм регулярных выражений),
  • вес блока (чем больше, тем выше или левее блок отобразится)


Особо следует отметить режим отображения блока «Только для админа». Когда Вы добавляется новый баннер, прежде чем его увидят посетители сайта — проверьте корректность его отображения сами, при необходимости внесите правки, и только после этого ставьте баннер в режим «Активен»

P.S. В каталоге уже есть плагин с похожим функционалом. Ответ на вопрос о принципиальных отличиях здесь

22 комментария

avatar
Поставил, решил испробовать… попробовал отобразить виджет карты 2gis — что то не отображает он. Регион выбрал из имеющихся — под топиком над комментарием, в содержимое блока вставил виджет 2gis такой:
<a id="2gis_mini_biglink" title="Организации Петрозаводска" href="http://maps.2gis.ru/#/?history=project/petrozavodsk/center/34.3233407365,61.781189358285/zoom/13/">Перейти к большой карте</a>
<noscript id="dg-widget-minigis-place-284cc8f3" style="color:#c00;font-size:16px;font-weight:bold;">
    Код для вставки виджета на сайт    
</noscript>
<script src="http://mini.api.2gis.ru/js/ver_537e69a/loader.js"></script>
<script type="text/javascript">
    new DG.Widget.Components.Loader({
        wid: '284cc8f3', 
        params: {"projectSelector":{"id":80,"code":"petrozavodsk","name":"Петрозаводск","centroid":"POINT(34.418349982910016 61.780603180142947)"},"search":{"rubrics":{"list":[]},"_searchFirmBasePoint":{"lon":34.3233407364999,"lat":61.7811893582847},"searchBasePointName":"Петрозаводск, Перевалка микрорайон"},"customBalloon":{"content":"Петрозаводск, Перевалка микрорайон"},"Map":{"zoom":13,"lon":34.3233407364999,"lat":61.7811893582847,"customBalloon":true,"customBallonHidden":true},"resize":{"w":938,"h":430}}    });
</script>


lsDev попробуйте у себя отобразить пожалуйста, может я что то не так делаю…
И еще, изначально неактивны кнопки в редакторе на странице добавления блока, т.е. выглядит вот так:

avatar
Да, вместо карты белое поле отображается, выглядит так:
avatar
неактивные кнопки в редакторе — необходимо в конфиге сайта(не плагина) включить TinyMCE
$config['view']['tinymce'] = true;

Остальное смотрю
avatar
Uncaught SyntaxError: Unexpected token & client.js:724 — браузер говорит об ошибке в гисовской js библиотеке.
avatar
P.S. В каталоге уже есть плагин с похожим функционалом. Ответ на вопрос о принципиальных отличиях здесь
ответ по ссылке совершенно неполон, говорю как автор плагина. Поэтому дополню: в "Блок мастере" есть дополнительно:

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

могу заметить некоторое сходство описания плагина из этого топика с уже существующим. совпадение, наверное.
avatar
Uncaught SyntaxError: Unexpected token & client.js:724 — браузер говорит об ошибке в гисовской js библиотеке.
Ну как то они раздают эти свои виджеты на всю страну:) api.2gis.ru/widgets/mini2gis/ Я думаю была бы ошибка в их гисовском коде — давно бы исправили…
Вот здесь возможно похожая проблема обсуждалась и удалось вывести карту в статической странице

livestreet.ru/blog/paidorders/12508.html
avatar
Плагин считает количество просмотров/посещений по баннеру?
avatar
Нет.
avatar
А с виджетом 2Gis не прояснилось ничего? Просто удобно было бы вставлять объекты на карте, относящиеся к определенному топику…
avatar
1. Плагин тут не при делах.
2. Всё что надо было — просто обернуть $(function(){});
<a id="2gis_mini_biglink" title="Организации Петрозаводска" href="http://maps.2gis.ru/#/?history=project/petrozavodsk/center/34.3233407365,61.781189358285/zoom/13/">Перейти к большой карте</a>
<noscript id="dg-widget-minigis-place-284cc8f3" style="color:#c00;font-size:16px;font-weight:bold;">
    Код для вставки виджета на сайт    
</noscript>
<script src="http://mini.api.2gis.ru/js/ver_537e69a/loader.js"></script>
<script type="text/javascript">
$(function(){
new DG.Widget.Components.Loader({
        wid: '284cc8f3', 
        params: {"projectSelector":{"id":80,"code":"petrozavodsk","name":"Петрозаводск","centroid":"POINT(34.418349982910016 61.780603180142947)"},"search":{"rubrics":{"list":[]},"_searchFirmBasePoint":{"lon":34.3233407364999,"lat":61.7811893582847},"searchBasePointName":"Петрозаводск, Перевалка микрорайон"},"customBalloon":{"content":"Петрозаводск, Перевалка микрорайон"},"Map":{"zoom":13,"lon":34.3233407364999,"lat":61.7811893582847,"customBalloon":true,"customBallonHidden":true},"resize":{"w":938,"h":430}}    });
});
</script>
avatar
Спасибо большое, если добавить
$(function(){
.............................

});
то все работает.
avatar
Как насчет готовых решений?
avatar
Из за готового решения не работают карты в плагине «события» catalog.livestreetcms.com/addon/view/281/
avatar
Создал 2 блока для отображения вверху сайдбара, в первом блоке два маленьких информера — погода и курсы валют, второй блок — погода яндекса. Второй блок делаю неактивным. Залогиниваюсь админом — отображает информер погоды и курс валют. Разлогиниваюсь — отображает информер погоды и второй блок информера погоды, который в управлении блоками установлен в положение «Неактивен». А курс валют пропадает. В чем может быть трабл?
avatar
А нет, извиняюсь, как всегда кеш:)
avatar
Первый блок — погода и курсы валют
Второй блок — погода яндекса.

Второй блок неактивен.
Разлогинились
Отображается часть первого блока и второй?
Может я Вас неправильно понял, но часть блока отображать точно не может. Или полностью или никак. Скиньте в личку урл, гляну.
avatar
:) долго коммент писал
avatar
Плагин для ленивых. Нет нечего сложно вставить в шаблон код счетчика.
Автор сделай лучше плагин для вставки кода различных бирж. Например сапы.
avatar
avatar
Подскажите пожалуйста плагин работает с шаблоном Vintage?
avatar
Работает, но для иконок редактирования от synio нужно добавить в css:

.icon-synio-actions-edit               { 
	background-position: -96px  -72px; 
}

.icon-synio-actions-delete         { 
	background-position: -312px 0; 
}


Для других шаблонов на основе developer тоже должно подойти.
avatar
Если в банер вставить подобный код?

<script type="text/javascript">
    google_ad_client = "ca-pub-9824455183442865";
    google_ad_slot = "3127372839";
    google_ad_width = 300;
    google_ad_height = 600;
</script>

<script type="text/javascript"
src="//pagead2.googlesyndication.com/pagead/show_ads.js">
</script>


Он будет работать?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.