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

Выдано 119406 лицензий

Шаблоны мета-тегов в интернет-магазине

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

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

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

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

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

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

Лучшие Плиты в Москве! Видеокамеры → Плиты

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

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

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

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

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

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

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

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

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

Подстановка Описание
{shop.description} Добавляет описание текущего интернет-магазина
{group.id} Добавляет идентификатор текущей группы
{item.marking} Добавляет артикул текущего товара
{item.producerName} Добавляет название производителя товара товара

Префиксы

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

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

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

Пример:

/*
$aTitle = array();
$aDescription = array();
$aKeywords = array();

...

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 = $Shop_Controller_Show;

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

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

Комментарии

  • MaximM

    Как удалить старые мета-теги

    У товаров нужно удалить старые мета-теги, которые уже были прописаны без шаблонов.
    Ведь пока их не удалишь, шаблоны мета-тегов не будут работать у этих товаров.
    Каким SQL запросом очистить мета теги у товаров определенной группы ?
    И желательно чтобы можно было чистить не обязательно сразу все поля ( title, description, keywords) , а какие-то определенные.

    13.11.2018 22:25:59 MaximM

    Без темы

    > Каким SQL запросом очистить мета теги у товаров определенной группы ?
    UPDATE к shop_items. С ограничением по shop_group_id. Посмотрите структуру таблицы и увидите названия полей для title, description и keywords в таблице.

    14.11.2018 09:19:15 alexander.egorov
  • Title

    А кроме готовых подстановок можно подставить данные из доп.свойств товара? Если можно, то как?

    17.05.2018 21:44:04 Dmitry K.

    Без темы

    В версии 6.8.1 добавлен вывод значений свойства для товара используя {item.propertyValue ID}

    18.05.2018 11:18:16 hostcms
  • Без темы

    А можно добавить подстановку из Дополнительного свойства товара? К примеру, мне нужно добавить к названию товара цвет или размер из допсвойства. Менять вкладку seo вручную у нескольких тысяч товаров крайне затратно по времени, а шаблон подстановки решил бы эту задачу быстро.

    13.05.2018 01:36:12 iNik

    Без темы

    см. ответ выше.

    18.05.2018 11:18:29 hostcms
  • Без темы

    в новых версиях если в Шаблонах пусто и на вкалдке SEO пусто то по умолчанию выдает навзание Группы\Элемента
    Как сделать чтоб выдавало пустоту если везде пустота?

    06.04.2018 12:39:04 Puma

    Без темы

    Только переопределять контроллер и в нем parseUrl(), т.к. не может быть пустого заголовка, если нет шаблона и нет SEO-заголовка, то в заголовок идет название товары (группы).

    06.04.2018 12:41:28 hostcms
  • MaximM

    Без темы

    Каким префиксом можно привести к нижнему символу не всю строку как делает {toLower item.name}, а только первый символ строки?

    09.03.2018 01:18:36 MaximM

    Без темы

    Добавили в 6.7.9. Можно так:

    {uppercaseFirst item.name}

    или так:

    {Core_Str::ucfirst item.name}

    12.03.2018 16:13:14 alexander.egorov
  • Без темы

    Только надо видимо поправить настройки ТДС

    20.02.2018 12:47:19 Varkolak
  • Без темы

    ТДС называется Интернет-магазинСайт ?
    В коде страницы близко нет $aTitle = array(); в настройках страницы есть Core_Page::instance()->object = $Shop_Controller_Show; но не срабатывает

    11.02.2018 17:50:50 id55048

    Без темы

    Значит в вашей ТДС этого нет или она переписана. Обратитесь в поддержку, смысл здесь об этом писать?!

    11.02.2018 17:53:20 hostcms