Интеграция плагина «SEO-оптимизация» в тему дизайна

На сайте Bodysite есть инструкция по интеграции.
Инструкция ниже дополняет инструкцию Bodysite.

Данная инструкция подходит для всех тем семейства Super (Super, Sexy, Prestige, Special и других более поздних тем).
Работы ведём в теме для приложения Магазин. 
Откройте приложение Магазин –> витрина –> тема –> шаблоны.

1. Вывод текста главной страницы

Откройте файл home.welcome.html
Вставьте хелпер: 

{$home_page_description|default:''}

Если хотите дополнить текст приветствия, то до или после кода:

{if !empty($theme_settings.home_welcome_text)}
    <div itemprop="description">
        {$theme_settings.home_welcome_text}
    </div>
{/if}

Если заменить, то вместо выше указанного кода.

2. Вывод описания тегов

Откройте файл search.html
Вставьте хелпер:

{$tag_description|default:''}

Сразу после строки

<div id="product-list" class="{$padding_class} uk-padding-remove-top">

3. Вывод дополнительного описания категории

Откройте файл category.html

Нужно вставить хелпер:

{$category.additional_description|default:''}

Если хотите дополнить описание категории перед списком товаров, то найдите код:

{* NOTE: CATEGORY DESCRIPTION top *}
{if $category_desc_mode == 'top' && !empty($category.description)}
    <!-- $category.description top -->
    <div class="{$padding_class} uk-padding-remove-top">
        <div class="inverse-wrapper{if !empty($inverse)} uk-light{/if}">
            {include file="category.description.html" inline}
        </div>
    </div>{*/{$padding_class}*}
{/if}

И вставьте хелпер сразу после строки

{include file="category.description.html" inline}

Если хотите дополнить описание категории после списка товаров (внизу страницы категории), то найдите код:

{if $category_desc_mode == 'bottom'}
    <div class="{$padding_class} uk-padding-remove-top inverse-wrapper{if !empty($inverse)} uk-light{/if}">
        {include file="category.description.html" inline}
        <div class="clear-both uk-clearfix"></div>
    </div>
{/if}

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

<div class="{$padding_class} uk-padding-remove-top inverse-wrapper{if !empty($inverse)} uk-light{/if}">
    {$category.additional_description|default:''}
    <div class="clear-both uk-clearfix"></div>
</div>

4. Вывод дополнительного описания товара

Откройте файл product.html
Найдите три одинаковых строки 

{if $product.description}

На самом деле их там 4, но последий фрагмент кода:

{if $product.description}
    <meta itemprop="description" content="{strip_tags($product.description)|truncate:140}" />
{else}
    <meta itemprop="description" content="[`Learn more about`] {strip_tags($product.name)} [`in our store`]!" />
{/if}

Не трогайте.
А остальные 3 строки замените на строки:

{if $product.description || !empty($product.additional_description)}

Затем найдите 2 строки, которые начинаются на: 

{$product.description|regex_replace:

И добавьте сразу после них хелпер плагина: 

{$product.additional_description|default:''}

Если доп. описание нужно до штатного описания товара, то добавьте хелпер ПЕРЕД выше названными строками.

5. Вывод SEO-наименования товара в шаблоне темы дизайна

В оригинальной инструкции не говориться в какой файл нужно вставлять хелперы, но судя по контексту и коду хелперов их нужно вставлять всё в тот же файл product.html

Если эффекта не будет, то уточняйте у разработчика плагина в какой файл нужно вставлять хелперы.

Итак, откройте файл product.html и в самом начале файла (после тега {strip}) вставьте хелперы:

{$product = shopSeoViewHelper::extendProduct($item.product)}
{$product.seo_name}

или

{$product = shopSeoViewHelper::extendProduct($wa->shop->product($item.product.id))}
{$product.seo_name}

Сергеев Владимир
Разработчик
Последнее обновление: 31 января 2022
Эта статья была полезна?ДаНет

8 комментариев

  • nerv
    13 октября 2021 16:13

    А как вывести в каталоге и списках SEO-наименования товара?

     

  • nerv
    13 октября 2021 16:21

    ихние примеры не работают

    {$product = shopSeoViewHelper::extendProduct($item.product)} {$product.seo_name}
    • Сергеев Владимир
      Разработчик
      14 октября 2021 10:26

      В конструкции выводится массив product, поэтому данные конструкции предназначены для вывода SEO названия на странице товара, а не в списках товаров. 

      Можно попробовать вывести, НО:

      • Я не уверен, что это сработает.
      • Если сработает, то не уверен, что у вас не просядет скорость, т.к. операции получения массива товара в цикле и последующего извлечения seo-наименования из массива очень ресурсоёмки.

      В файле lt-title.html (Темы для шопа), найдите строку: 

      <span itemprop="name">{$p.name}</span>

      И замените её на: 

      {$seo_product = shopSeoViewHelper::extendProduct($wa->shop->product($p.id))}
      <span itemprop="name"></span>{$seo_product.seo_name}</span>

      Если не сработает, значит ¯\_(ツ)_/¯

    • nerv
      14 октября 2021 14:24

      Чет не заработало. Но спасибо.

    • nerv
      31 января 2022 18:01

      Вот так работает 

      {$seo_product = shopSeoViewHelper::extendProduct($wa->shop->product($p.id))}{$seo_product.name}

      Добавить комментарий
      Чтобы добавить комментарий, зарегистрируйтесь или войдите
      Мы получаем и обрабатываем персональные данные посетителей нашего сайта в соответствии с официальной политикой.
      Если Вы продолжите использовать сайт, мы будем считать, что Вас это устраивает.
      Подписывайтесь и получайте скидки!

      Узнавайте первым о скидках и специальных предложениях!