Дарим чек-лист по подготовке к сезону продаж за подписку на наш телеграм Получить
База знаний
Bodysite.Help — единая база знаний и хаб поддержки по всем продуктам

Хелперы плагина «SEO-фильтр»

Хелперы для каталога товаров:

1.Возвращает блок пагинации с замененными ссылками пагинации на ссылки текущего фильтра, если такие есть:

{shopSeofilterViewHelper::paginationDecorate($pagination_html)}

2.Возвращает ссылку сортировки (наподобие {$wa->shop->sortUrl($sort, $name, $active_sort = null)}), но с учетом текущего фильтра: 

{shopSeofilterViewHelper::sortUrl($sort, $name, $active_sort = null, $additional_sorts = array())}

$additional_sorts - массив дополнительных возможных полей сортировки (например, ['discount_price']).

3.Возвращает ссылку на фильтр в текущей категории:

{shopSeofilterViewHelper::getFilterUrl($feature_id, $value_id, $feature_code = null, $specific_category = null)}

$feature_code - код характеристики (семантически дублирует первый параметр, но удалять уже нельзя. Можно просто передать null).
$specific_category - категория, ссылку на фильтрацию в которой нужно вернуть (вместо текущей категории).

Работает, только если в категории включена фильтрация (не "смарт-фильтры").

4.Возвращает ссылку на фильтр по параметрам фильтрации:

{shopSeofilterViewHelper::getFilterByFeatureValues($filter_params, $category = null, $storefront = null)}

$filter_params - массив параметров (формат такой же, как у GET параметров фильтрации Shop-Script, например, ['brand' => ['1']]).
$category - категория. если null, то будет использована текущая.
$storefront - витрина (например, 'domain.com/shop/*'). если null, то будет использована текущая.

Хелперы для карточки товара:

1.Возвращает массив с ссылками на страницы плагина в карточках товара:

{shopSeofilterProductfiltersViewHelper::getProductFiltersUrls($product, '=', 1)}

1 - количество характеристик

Пример вывода ссылок: 

{$seofilters = shopSeofilterProductfiltersViewHelper::getProductFiltersUrls($product, "=", 1)}

{if !empty($seofilters)}
    <section class="blocks__item product-page__seofilter-links">
                <div class="seofilter-links">
                        {foreach $seofilters as $f}
                                <a class="seofilter-links__link" href="{$f.url|escape}">{$f.seo_name}</a>
                        {/foreach}
                </div>
        </section>
{/if}

Потребуется адаптация в вёрстку.

Хелперы функции "Перелинковка товаров":

1.Возвращает ссылку на фильтр для значения характеристики:

{shopSeofilterViewHelper::getValueUrl($feature_code, $value, $product = null)}

$feature_code - код характеристики 
$value - значение из массива {$product.features} 
$product - товар, текущий товар по умолчанию

2.Возвращает html, в котором будет значение характеристики и ссылка на фильтр:

{shopSeofilterViewHelper::getValueLinkHtml($feature_code, $value, $product = null)}

3.Возвращает массив значений характеристик товара, каждое из которых преобразовано в html с ссылкой на фильтр этого значения (shopSeofilterViewHelper::getValueLinkHtml):

{shopSeofilterViewHelper::wrapFeatureValues($product_feature_values, $product = null)}

$product_feature_values - массив значений характеристик (предполагается, что тут будет массив $product.features)

Инструкция была полезна?
78% считают ответ полезным
Спасибо за обратную связь!
Чтобы добавить комментарий, войдите в личный кабинет
Как правильно обращаться в техподдержку?
Не работает решение, что делать?
Не применяются настройки плагина, почему?
Куда пропали лицензии?
Как интегрировать плагин в мою тему дизайна
Купил плагин, как активировать лицензию?
Как можно получить скидку?
Есть ли тестовый период за продукт
Слетела лицензия что делать?
Не могу настроить CRON, что делать?
Написать в техподдержку
В техническую поддержку входит:
  • Консультации по вопросам приобретения
  • Консультации по функционалу и возможностям
  • Выявление и решение проблем в работе функционала
В техническую поддержку не входит:
  • Настройка решения
  • Доработка под запросы клиента
  • Устранение багов в консультационной форме (без предоставления доступов к сайту)
Платная диагностика:
  • Диагностика сложных и неоднозначных проблем
  • Выявление конфликтов со сторонними решениями
  • Выявление конфликтов в вашей среде сервера
  • Приоритетный срок на обработку тикетов
  • Оплата только банковской картой