Вставки

Модуль «Вставки» – инструмент, который выводит HTML-код, в том числе шаблонные теги на сайте, используя в качестве якоря выведенные на сайте шаблонные теги.

Модуль относится к части CMS «Сервис» и является обязательным для установки.

Вставки добавлены в сборке 6.0.9.2.

Административная часть

Список вставок

Для редактирования вставки необходимо нажать на нее.

Дополнительные параметры располагаются во всплывающем блоке справа.

Редактирование вставки

Вставка имеет следующие характеристики.

Основные:

  • Название – Название вставки, любое имя для администратора.
  • Опубликовать на сайте – Активировать вставку на сайте. Параметр имеет разные значения для разных языковых версий сайта.
  • Режим использования – Возможные значения:
    • Вместо шаблонного тега,
    • Перед шаблонным тегом,
    • После шаблонного тега.
  • Шаблонный тег – Шаблонный тег, к которому привязывается вставка.
  • Содержание вставки – HTML-код или шаблонный тег, добавляемый на страницу.
  • Отображать на страницах – Выбор отдельных страниц, где будет показываться вставка. Удерживайте CTRL, чтобы выбрать несколько страниц.

Дополнительные:

  • Номер – Номер страницы в БД (веб-мастеру и программисту).
  • Редактор – Изменяется после первого сохранения. Показывает, кто из администраторов сайта первый правил текущую страницу.
  • Время последнего изменения – Изменяется после сохранения элемента. Отдается в заголовке Last Modify.
  • Сортировка: установить перед – Изменить положение текущей страницы среди других страниц (администратору сайта).
  • Период показа – Если заполнить, текущий блок будет опубликована на сайте в указанный период. В иное время пользователи сайта блок не будут видеть, получая ошибку 404 «Страница не найдена» (администратору сайта).

Примеры вставок

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

Информационный блок перед блоком новостей на главной

Название видно только администратору, поэтому название может быть любым. Зададим название как «Бонусная карта».

Размещение – перед меткой

Шаблонный тег-метка – <insert name="show_block" module="news">

Содержание вставки:

<div class="block">
   <div class="block_header">Бонусная карта</div>
   <img src="/edu/img/bonus_card.jpg" width="100%">
</div>

Отображать на страницах – выбрана «Главная страница»

Блок «Купон на скидку» перед блоком новостей

Название – «Купон на скидку»

Размещение – перед меткой

Шаблонный тег-метка – <insert name="show_block" module="news">

Содержание вставки:

<div class="block">
   <insert name="show_add_coupon" module="shop">
</div>

Отображать на страницах – выбрано «Все»

Скрываем поиск на сайте

Название – «Скрывает поиск на сайте»

Размещение – вместо метки

Шаблонный тег-метка – <insert name="show_search" module="search">

Содержание вставки – пустое

Новогодний баннер

Предварительно создадим в модуле «Баннеры» категорию «Новогодний баннер» (ID 4). В баннерах добавим баннер в эту категорию:

  • загрузим изображение
  • описание – <h2>С Новым годом и Рождеством!</h2><p>от всей души</p>
  • категория – «Новогодний баннер»

Создадим вставку:

Название – «Новогодний баннер»

Размещение – вместо метки

Шаблонный тег-метка – <insert name="show_block" module="bs" cat_id="1">

Содержание вставки – <insert name="show_block" module="bs" cat_id="4" template="slider">

Отображать на страницах – Главная страница

Период показа – 15 декабря – 10 января

Вставки в модулях

Модуль задумывался в первую очередь как инструмент для дополнений. При установке дополнения администратор должен сразу увидеть его визуальную часть у себя на сайте. Для этого в файле установки модуля дополнения нужно указать какую вставку нужно сделать (добавлено в сборке 6.0.9.6).

Пример:

// modules/mymodule/mymodule.install.php – файл установки модуля дополнения
class Mymodule_install extends Install
{
    public
$inserts = array(
        array(
            
// название вставки видно только администратору
            
"name" => "Блок моего модуля",

            
// шаблонный тег – якорь
            
"tag" => '<insert name="show_block" module="bs" cat_id="1">',

            
// размещение – после якоря
            
"prefix" => 'after',

            
// добавляемый визуальный блок – содержит шаблонный тег устанавливаемого модуля
            
"text" => '<insert name="show_block" module="mymodule">',

            
// выводить только на главной странице (ID 1)
            
"site_rel" => array(1),
        )
    );
    
//...

Если вставка планируется только в режиме «Заполнить сайт примерами», тогда содержимое свойства $inserts нужно перенести в свойство $demo под ключ 'inserts'.

Пример:

class Mymodule_install extends Install
{
    
//часть устанавливающаяся только, если отмечена опция «Заполнить сайт примерами»
    
public $demo = array(
        
"inserts" => array(
            array(
                
"name" => "Блок моего модуля",
                
"tag" => '<insert name="show_block" module="bs" cat_id="1">',
                
"prefix" => 'after',
                
"text" => '<insert name="show_block" module="mymodule">',
                
"site_rel" => array(1),
            )
        ),
        
//...
    
);

Если дополнение реализовано не в виде отдельного модуля, то можно добавить SQL-запрос на добавление вставки в файле install.sql. Этот файл содержит SQL-запросы, выполняющиеся при установке дополнения.

Пример:

install.sql

INSERT INTO {inserts} (name, tag, prefix, text) VALUES ('Блок моего модуля', '<insert name="show_block" module="bs" cat_id="1">', 'after', '<insert name="show_block" module="mymodule">');

Тогда нужно создать и файл uninstall.sql, в котором будет запрос на удаление вставки, чтобы дополнение не оставляло за собой мусор.

Пример:

uninstall.sql

DELETE FROM {inserts} WHERE text LIKE ='%module="mymodule"%'

Видео

Вставки – что за зверь?

База данных

{inserts} – Вставки

{inserts_site_rel} – Данные о том, на каких страницах выводятся вставки

Файлы

  1. modules/inserts/admin/inserts.admin.php – редактирование вставок;

  2. modules/inserts/inserts.install.php – установка модуля.

Ваши комментарии и дополнения
28 июня 2020 г. , редакция: 28 июня 2020 г.
Подскажите почему вставки не поддерживают локализацию?
А если поддерживают, то чего я не понял? Будет ли поддержка в дальнейшем?
29 июня 2020 г.
Цитата
Подскажите почему вставки не поддерживают локализацию?
Потому, что модуль новый и обкатывается на простой функциональности.
Цитата
Будет ли поддержка в дальнейшем?

Закиньте предложение в багтрек
15 декабря 2020 г.
Смотрите, мы можем сделать вставку перед, вместо, после.
А можно ли сделать вставку над и под тегом(на других строках?
Спасибо
16 декабря 2020 г.
Цитата
А можно ли сделать вставку над и под тегом(на других строках?

Просто сделайте две одинаковые вставки, одну над, другую под

Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.