Праздничное настроение с HostCMS!
Дарим скидки до 20% при приобретении лицензий
и скидки на продление периода поддержки*

Выдано 119384 лицензии

Шаблоны мета-тегов в информационных системах

Шаблоны мета-тегов предназначены для гибкой и простой настройки SEO-тегов. Шаблоны задаются как целиком для информационных систем, так и для его конкретных групп.

Если у группы не задан тот или иной шаблон, то будет использоваться шаблон от информационной системы.

Перейдите в раздел Контент → Информационные системы и отредактируйте систему. На вкладке Шаблоны SEO доступны поля для внесения шаблонов.

В системе есть заранее сформированный список подстановок, которые можно добавить в шаблон:

При выборе значения из списка в поле будет добавлена подстановка. Например, создадим шаблон следующего вида:

Теперь находясь в группе с названием "Комедии" получим результат:

Лучшие Комедии в Москве! Фильмы → Искусство

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

Подстановка Описание
{informationsystem.name} Добавляет название текущей информационной системы
{group.name} Добавляет название текущей группы
{group.description} Добавляет описание текущей группы
{group.propertyValue ID}

Добавляет значения свойств информационного элемента с идентификатором ID. Может принимать 3 параметра:
первый - идентификатор свойства;
второй - шаблон вывода значения свойства, по умолчанию '%2$s' выводит только значения, чтобы вывести название свойства со значением задайте шаблон '%s: %s';
третий - разделитель, по умолчанию ', '

Для вывода значений свойств с ID 17 с указанием названия свойства и собственным разделителем используйте вызов {group.propertyValue 17 '%s: %s' ' / '}

{group.groupPathWithSeparator} Добавляет путь к группе, в виде Фильмы → Комедии → 2018. Сепаратор можно изменить передав в качестве аргумента. Например, {group.groupPathWithSeparator " / "}, также можно ограничить количество групп, удалив текущую группу, для этого передается второй аргумент {group.groupPathWithSeparator " / " 1}
{this.pageNumber ", страница %d"} Добавляет номер страницы, в виде ", страница 2".
{item.name} Добавляет название текущего информационного элемента
{item.description} Добавляет краткое описание информационного элемента
{item.text} Добавляет текст информационного элемента
{item.propertyValue ID}

Добавляет значения свойств информационного элемента с идентификатором ID. Может принимать 3 параметра:
первый - идентификатор свойства;
второй - шаблон вывода значения свойства, по умолчанию '%2$s' выводит только значения, чтобы вывести название свойства со значением задайте шаблон '%s: %s';
третий - разделитель, по умолчанию ', '

Для вывода значений свойств с ID 17 с указанием названия свойства и собственным разделителем используйте вызов {item.propertyValue 17 '%s: %s' ' / '}

Собственные подстановки

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

Подстановка Описание
{informationsystem.description} Добавляет описание текущей информационной системы
{group.id} Добавляет идентификатор текущей группы
{item.guid} Добавляет GUID текущего информационного элемента

Префиксы

В качестве префикса может быть использован toLower для приведения к нижнему регистру {toLower item.name}, toUpper для приведения к верхнему {toUpper item.name}, а также любая php-функция, например, {mb_strtolower item.currencyName}

Корректировка типовой динамической страницы

Для использования SEO-шаблонов мета-тегов необходимо отредактировать код типовой динамической страницы информационной системы. Закомментировать строки, начинающиеся с $aTitle = array($oInformationsystem->name); и по Core_Page::instance()->object = $Informationsystem_Controller_Show;

Пример:

/*
$aTitle = array($oInformationsystem->name);
$aDescription = array($oInformationsystem->name);
$aKeywords = array($oInformationsystem->name);

...

if (count($aTitle) > 1)
{
    $aTitle = array_reverse($aTitle);
    $aDescription = array_reverse($aDescription);
    $aKeywords = array_reverse($aKeywords);

    Core_Page::instance()->title(implode($pageSeparator, $aTitle));
    Core_Page::instance()->description(implode($pageSeparator, $aDescription));
    Core_Page::instance()->keywords(implode($pageSeparator, $aKeywords));
}
*/
Core_Page::instance()->object = $Informationsystem_Controller_Show;

Функционал доступен с версии 6.7.8

Не нашли ответ на свой вопрос в документации? Направьте обращение в или онлайн чат.