Smart Filter

  • 1. Обзор;
    • 1.1. Открыть модуль в админ профиле
    • 1.2. Открыть модул на сервере
  • 2. Создание паттерна для выборки;
    • 2.1. Создание отдельного паттерна;
      • 2.1.1. Переменные модуля;
    • 2.2. Массовое создание паттернов;
    • 2.3. Редактирование паттерна;
    • 2.4. Создание паттернов в мультиязычном магазине;
  • 3. Настройки smart filter (паттерн по умолчанию)
  • 4. Удаление паттернов

Обзор модуля smart filter

Функционал доступный пользователям ImageCMS, начиная от версии 4.11 в редакции Premium а также пользователям облачного решения Premmerce (в зависимости от тарифа).

Модуль предназначен для присвоения уникальных мета данных (паттернов) для страниц выборки, создаваемой при фильтрации товаров пользователем на странице категории товаров.

Данный модуль, работает с выборками, в которых пользователь осуществляет фильтр по:

  • бренду:
  • свойству:
  • конкретному значению свойства (или нескольких значениях свойств)

Администратор, для создания паттерна выборки, может использовать следующие параметры:

  • Категория + Бренд
  • Категория + Свойство (+ все значение или конкретное)
  • Категория + Бренд + Свойство (+ все значение или конкретное)

Цель модуля - продвижение магазина в поисковой выдаче, по узкому запросу, (например: "купить черний телефон Nokia" - где:

  • черний - значение условного свойства "Цвет"
  • телефон - Категория товаров
  • Nokia - бренд производитель.

Результат достигается путем создания отдельной страницы для выборки по фильтру и присвоения ей уникальных мета-данных.

Примечание:

При этом, взаимодействие с пользователем не учитывается.

То есть, если пользователь на странице категории при фильтрации выберет ранее предусмотренную администратором комбинацию бренд/свойство/значение, то будут выведены указанные через модуль smart filter мета-данные для данной выборки.

Но, если комбинация не будет совпадать полностью (например при фильтрации будет добавлен дополнительный бренд или свойство), то будут подтянуты общие настройки.

При этом, администратор может указать следующие уникальные данные для страницы выборки:

  • Заголовок (Н1)
  • Meta title
  • Meta description
  • Ключевые слова
  • Сео-текст - краткий текст отображаемый только на странице выборки (используется для продвижения)
Примечание:
Если вам необходимо уникализировать мета-данные для отдельных категорий или брендов, используйте возможности настроек данных, отдельных страниц или модуль SEO-эксперт.

1.1. Открыть модуль в админ профиле

Необходимо выбрать пункт главного меню "Модули", а в нем подпункт "smart filter"

Если в вашей админпанели в меню пункта "Модули" такого модуля нет, то "smart filter" находится в списке модулей, и его необходимо вывести в меню пункта "Модули".

В меню пункта "Модули". В списке "Все модули" напротив модуля "smart filter" необходимо перевести в активное положение ползунки, в частности, ползунок в колонке "Показывать в меню":

Прямой доступ к функционалу - по ссылке: ваш_сайт/admin/components/cp/smart_filter

1.2. Открыть модуль на сервере

На хостинге модуль находится в папке \application\modules\smart_filter

2. Создание паттерна для выборки

Модуль smart filter, позволяет создавать паттерны как выборочно (для отдельной комбинации бренд/свойство (+ значение) или свойства/бренда отдельно), так и массово (для всех возможных комбинаций выборов в паре бренд + свойство, или свойства/бренда отдельно)

2.1. Создание отдельного паттерна для выборки

Что бы создать паттерн, для выборки по фильтру, вам необходимо:

Шаг 1: Открыть форму создания паттерена.

Осуществите клик по кнопке "Создать"

В данном примере рассматривается создание отдельного паттерна для выборки. Фукнция "Массовое создание" имеет почти аналогичный алгоритм работы. Подробнее в пункте 2.2 "Массовое создание паттернов".

Шаг 2: Выбор категории.

Выберите товарную категорию, на страницу товаров которой вы хотите добавить паттерн:

Выбор категории следует осуществить из выпадающего списка в поле "Категория". После выбора категории, в полях "Бренд" и "Свойство" даные подтянутся автоматически, исходя из выбраной категории товаров (все свойства и бренды закрепленные за товарами в категории).

Категория товаров может быть только одна, как при отдельном формировании паттерна, так и при массовом.

Шаг 3: Выбор параметров "Бренд" и/или "Свойство".

Выберете необходимый бренд и\или свойство из соответствующих полей:

Для формирования паттерна могут использовать следующие параметры:

  • Категория + Бренд
  • Категория + Свойство (+ все значение или конкретное)
  • Категория + Бренд + Свойство (+ все значение или конкретное)
Примечание:
В формирование паттерна допускается только один бренд и только одно свойство.

Шаг 4: Определение атрибутов для страницы выборки noindex и nofollow.

При создании/редактировании страницы выборки, администратор может добавить атрибуты follow/nofollow и index/noindex.

Примеры использования атрибутов follow/nofollow и index/noindex:

<meta name = "robots" content = "index, follow" /> - разрешено индексировать текст и ссылки на странице

<meta name = "robots" content = "noindex" /> - не индексировать текст страницы,

<meta name = "robots" content = "nofollow" /> - не переходить по ссылкам на странице и не индексировать их.

<meta name = "robots" content = "noindex, nofollow" /> - запрещено индексировать и текст, и ссылки на странице

Примечание:

По умолчанию атрибуты не добавлены на страницу.

Не стоит забывать, что настройки могут вступить в силу не сразу, так как время/частоту прохождения страниц сайта поисковими роботами регламентировать нельзя.

Так же необходимо время для апдейта поисковой выдачи.

Шаг 5: Определить активность создаваемого паттерна.

Укажите системе, использовать ли паттерн, при помощи ячейки "Активный":

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

Шаг 6: Указание мета-данных.

Укажите мета-данные, используя обычный текст и предусмотренные переменные. При помощи модуля вы можете задать паттерну:

  • Meta title:
  • Meta description:
  • Meta keywords:

Также есть возможность добавить уникальный текст для выборки в поле Seo-текст.

Для каждого поля мета-данных предусмотрен свой набор переменных. Подсказку вы сможете найти в всплывающем хелпере, возле названия поля (подробнее о допустимых переменных в пункте 2.1.2. "Переменные модуля;").

Шаг 7: Сохранение изменений.

Сохраните созданный паттерн при помощи клика по кнопке "Создать":

2.1.2. Переменные модуля

Для создания паттернов в модуле предусмотрен набор переменных, который отличаеться в зависимости от типа мета-данных:

Переменные для заголовка (Н1) :

{{category.id}} - ID категории

{{category.name}} - Имя категории

{{category.description}} - Описание категории

{{minPrice}} - Минимальная цена в категории

{{maxPrice}} - Максимальная цена в категории

{{property.name}} - Свойство 

{{value.name}} - Значение 

{{brand.name}} - Бренд

Дополнительные параметры для использования с именем категории:

|translit - Транслит

|morphy(1..6) - номер падежа слова

Пример:

{{category.name|morphy(1)}} - Именительный

{{category.name|morphy(2)}} - Родительный

{{category.name|morphy(3)}} - Дательный

{{category.name|morphy(4)}} - Винительный

{{category.name|morphy(5)}} - Творительный

{{category.name|morphy(6)}} - Предложный

{{category.name|morphy(1..6)|translit}} - Совместное использование .

Переменные для формирования мета-тайтла (Meta title):

{{category.id}} - ID категории

{{category.name}} - Имя категории

{{category.description}} - Описание категории

{{minPrice}} - Минимальная цена в категории

{{maxPrice}} - Максимальная цена в категории

{{property.name}} - Свойство 

{{value.name}} - Значение 

{{brand.name}} - Бренд

Дополнительные параметры для использования с именем категории :

|translit - Транслит

|morphy(1..6) - номер падежа слова

Пример:

{{category.name|morphy(1)}} - Именительный

{{category.name|morphy(2)}} - Родительный

{{category.name|morphy(3)}} - Дательный

{{category.name|morphy(4)}} - Винительный

{{category.name|morphy(5)}} - Творительный

{{category.name|morphy(6)}} - Предложный

{{category.name|morphy(1..6)|translit}} - Совместное использование.

Переменные для мета-описания (Meta description):

{{category.id}} - ID категории

{{category.name}} - Имя категории

{{category.description}} - Описание категории

{{minPrice}} - Минимальная цена в категории

{{maxPrice}} - Максимальная цена в категории

{{property.name}} - Свойство 

{{value.name}} - Значение 

{{brand.name}} - Бренд

Дополнительные параметры для использования с именем категории :

|translit - Транслит

|morphy(1..6) - номер падежа слова

Пример:

{{category.name|morphy(1)}} - Именительный

{{category.name|morphy(2)}} - Родительный

{{category.name|morphy(3)}} - Дательный

{{category.name|morphy(4)}} - Винительный

{{category.name|morphy(5)}} - Творительный

{{category.name|morphy(6)}} - Предложный

{{category.name|morphy(1..6)|translit}} - Совместное использование.

Переменные для кючевых слов (Meta keywords):

.Переменные, которые можно использовать:

{{category.id}} - ID категории

{{category.name}} - Имя категории

{{category.description}} - Описание категории

{{minPrice}} - Минимальная цена в категории

{{maxPrice}} - Максимальная цена в категории

{{property.name}} - Свойство 

{{value.name}} - Значение 

{{brand.name}} - Бренд

 

Дополнительные параметры для использования с именем категории :

|translit - Транслит

|morphy(1..6) - номер падежа слова

Пример:

{{category.name|morphy(1)}} - Именительный

{{category.name|morphy(2)}} - Родительный

{{category.name|morphy(3)}} - Дательный

{{category.name|morphy(4)}} - Винительный

{{category.name|morphy(5)}} - Творительный

{{category.name|morphy(6)}} - Предложный

{{category.name|morphy(1..6)|translit}} - Совместное использование.

Переменные для использования в Seo тексте:

SEO Текст на главной странице категорий

{{category.id}} - ID категории

{{category.name}} - Имя категории

{{category.description}} - Описание категории

{{minPrice}} - Минимальная цена в категории

{{maxPrice}} - Максимальная цена в категории

{{property.name}} - Свойство 

{{value.name}} - Значение 

{{brand.name}} - Бренд

Дополнительные параметры для использования с именем категории :

|translit - Транслит

|morphy(1..6) - номер падежа слова

Пример:

{{category.name|morphy(1)}} - Именительный

{{category.name|morphy(2)}} - Родительный

{{category.name|morphy(3)}} - Дательный

{{category.name|morphy(4)}} - Винительный

{{category.name|morphy(5)}} - Творительный

{{category.name|morphy(6)}} - Предложный

{{category.name|morphy(1..6)|translit}} - Совместное использование  .

При создании паттерна, вы можете вызвать подказку при помощи хелпера напротив поля.

2.2. Массовое создание паттернов

Масове создание паттернов следует использовать, если вы желаете создать паттерны, используя несколько категорий и/или брендов. В таком случае модуль автоматически сгенерирует все возможные комбинации паттернов.

Но для паттернов, созданных массовым способом, будет использоватся общий шаблон, указанный администратором.

Если поля мета данных оставить пустым, будет использоваться шаблон (паттерн по-умолчанию), указанный в разделе "Настройки".

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

Для массового создания паттернов необходимо:

Шаг 1: Открыть массовое создание паттернов.

Осуществите клик по кнопке "Массовое создание" в правом верхнем углу формы.

Шаг 2: Выбор категории.

Как и при создании единичного паттерна, необходимо выбирать товарную категорию, на страницу товаров которой вы хотите добавить паттерн:

Также, как и при создании отдельного паттерна, допускается только одна товарная категория.

Шаг 3: Выбор параметров "Бренд" и/или "Свойство".

Выберете необходимый бренды и\или свойства из соответствующих полей. Выбрать сразу несколько позиций можно, зажав и удерживая клавишу Ctrl:

Для массового формирования паттернов могут использоваться следующие параметры:

  • Категория + Бренды
  • Категория + Свойства
  • Категория + Бренды + Свойства

Шаг 4: Определение атрибутов для страниц

По аналогии с отдельным созданием, в массом создании есть возможность присвоить , определить атрибуты follow/nofollow и index/noindex.

Примечание:
подробные примеры использования атрибутов follow/nofollow и index/noindex доступны в шаге №4, в пункте "2.1. Создание отдельного паттерна;"

Шаг 5: Определить активность создаваемых паттернов.

Укажите системе, использовать ли созданные паттерны, при помощи ячейки "Активный":

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

Шаг 6: Указание мета данных для паттернов.

Укажите мета-данные, используя обычный текст и предусмотренные переменные. При помощи модуля вы можете задать паттерну:

  • Meta title:
  • Meta description:
  • Meta keywords:

Также есть возможность добавить уникальный текст для выборки в поле Seo текст.

Примечание:
все мета-данные, созданные через форму массового создания, будуть иметь общую структуру мета-данных

Шаг 7: Клик по кнопке "Сгенерировать".

После того как все настройки осуществлены - необходимо сгенерировать и сохранить все возможные паттерны, исходя из комбинации Категория/Бренды/Свойтва.

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

2.3. Редактирование паттерна

Для редактирования паттерна, вам необходимо перейти в список паттернов (прямая ссылка к списку ваш_сайт/admin/components/cp/smart_filter) и осуществить клик по ссылке в колонке "Значение"

Далее, откроется форма редактирования паттерна, практически аналогичная форме создания.

Разница в формах создания и редактирования заключается только в присутствующем в форме редактирования блоке ссылок, при помощи которых можно быстро просмотреть страницу выборки по фильтру:

2.4. Создание паттернов в мультиязычном магазине

Если вы используете сборку ImageCMS Shop Premium, поддерживающую мультиязычность, вам необходимо настроить паттерны для каждой языковой версии отдельно.

Для этого, вам необходимо работать в следующей последовательности:

Шаг 1: Создание паттернов (для основного языка)

Создайте необходимые паттерны руководствуясь пунктами "2.1. Создание отдельного паттерна для выборки" и/или "2.2. Массовое создание паттернов" для основной языковой версии сайта (подробнее о языках)

Шаг 2: Переход к редактированию паттерна

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

Для этого поочередно открывайте формы редактирования паттернов Пункт "2.3. Редактирование паттерна", так как массовой возможности создания паттернов для дополнительных языковых версий нет.

Шаг 3: Создание паттерна по языковым версиям

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

Примечание:
При переходя от языка к языку необходимо сохранять изменения.

3. Настройки smart filter (паттерн по умолчанию)

В настройках модуля smart filter можно задать стандартный паттерн, которые будет использоваться по-умолчанию для всех паттернов, при создании которых остались пустыми поля (например при массовом создании):

  • Заголовок (Н1)
  • Meta title
  • Meta description
  • Ключевые слова
  • Сео-текст - краткий текст, отображаемый на странице выборки (используется для продвижения)

Просим учесть эту универсальность при создании паттерна по умолчанию (особенно при указании сео текста).

Для перехода к настройкам модуля, осуществите клик по кнопке "Настройки":

Форма настроек (создания паттерна по умолчанию) отличается от стандартной формы создания паттерна отсутствием полей для выбора категории, бренда и .т.д, так как паттерн будет использоваться по-умолчанию - данные поля не имеют смысла.

Для заполнения полей паттерна по умолчанию, можно использовать ряд переменных (подробнее в пункте 2.1.2. Переменные модуля;)

4. Удаление паттернов

Для удаления отдельного паттерна или нескольких, вам необходимо:

Шаг: 1 Откройте список паттернов

Шаг: 2 Выбор паттернов

Выберите паттерны, подлежащие удалению, в колонке выбора.

После выбора паттернов появится кнопка "Удалить" в правом верхнем углу списка.

Шаг: 3 Клик по кнопке "Удалить".

При удалении паттерна, будет удалено все содержимое полей мета-данных этого паттерна.

Просим учесть, что:

  1. После удаления паттерна еще некоторое время он будет содержаться в кэше поисковых систем. В этом случае, необходимо подождать апдейта.
  2. Если вам необходимо временно убрать паттерн, его не обязательно удалять совсем, достаточно просто отключить паттерн в списке:

Модуль для отображения фильтра свойств товаров.

Функционал данного модуля работает (фильтрует) по принципу подбора товаров относительно выбранных свойств товаров. Т.е. будет доступно  отметить в фильтре категории товаров несколько значений для свойств и провести фильтрацию.

Настроек не имеет.

Настройки модуля для физических URL-адресов доступны с модуле SEO эксперт

 

Возможные проблемы и способы их решения:

После обновления до 4.9 не работают фильтры (Smart filter)...

Некорректная работа Smart filter settings связана с тем, что Ваш шаблон не обновился (и не должен был).

Надо обновить его вручную:

Заменяем содержимое файла (или создаем при отсутствии оного) /application/modules/smart_filter/assets/js/physical_pages.js

на следующее:

function log(arg) {
    console.log(arg);
}

var PhysicalFilter = {
    brandsUrl: '',
    propertiesUrl: '',
    baseUrl: '',
    manyPhysicalURL: false,
    brands: {},
    properties: {},
    useMultiSegmentsURL: function () {
        this.manyPhysicalURL = true;
        return this;
    },
    init: function (formObj) {
        this.brands = $(formObj).find('input[name="brand[]"]:checked');
        log(this.brands.length);
        this.properties = $(formObj).find('input[name^="p["]:checked');
        log(this.properties.length);
    },
    formBrandsUrl: function (formObj) {
        if (this.brands.length > 1 && !this.manyPhysicalURL) {
            return false;
        }

        if ((this.brands.length && this.properties.length) && !this.manyPhysicalURL) {
            return false;
        }

        $(this.brands).each(function () {
            if (PhysicalFilter.brandsUrl) {
                PhysicalFilter.brandsUrl += ';'
            }

            PhysicalFilter.brandsUrl += 'brand-' + $(this).data('url');
            $(this).removeAttr('checked');
        });
    },
    formPropertiesUrl: function (formObj) {
        if (this.properties.length > 1 && !this.manyPhysicalURL) {
            return false;
        }

        if ((this.brands.length && this.properties.length) && !this.manyPhysicalURL) {
            return false;
        }

        $(this.properties).each(function () {
            if (PhysicalFilter.propertiesUrl) {
                PhysicalFilter.propertiesUrl += ';'
            }

            PhysicalFilter.propertiesUrl += 'property-' + $(this).data('physical');
            $(this).removeAttr('checked');
        });
    },
    clearUrl: function () {
        this.baseUrl = location.pathname;
        var cutToProperty = null;
        var cutToBrand = null;
        var cutTo = null;

        cutToProperty = this.baseUrl.indexOf('/property-');
        cutToBrand = this.baseUrl.indexOf('/brand-');
        cutTo = Math.min(cutToProperty, cutToBrand);
        cutTo = cutTo === -1 ? Math.max(cutToProperty, cutToBrand) : this.baseUrl.length;

        if (cutTo !== -1) {
            this.baseUrl = this.baseUrl.substring(0, cutTo);
        }
    },
    getUrl: function (formObj) {
        this.init(formObj);
        this.formBrandsUrl(formObj);
        this.formPropertiesUrl(formObj);
        this.clearUrl();
        this.propertiesUrl = (this.propertiesUrl && this.brandsUrl) ? ';' + this.propertiesUrl : this.propertiesUrl;

        return this.baseUrl + '/' + this.brandsUrl + this.propertiesUrl;
    }
};


$(document).on('ready', function () {
    $('#catalogForm').submit(function () {
        //$(this).attr('action', PhysicalFilter.useMultiSegmentsURL().getUrl(this));
        $(this).attr('action', PhysicalFilter.getUrl(this));
    });
});

Заходим в папку текущего шаблона и заменяем указанные ниже строки:

Файл: /smart_filter/filter.tpl

строку:

<input {$dis} class="brand{echo $brand->id}" name="brand[]" value="{echo $brand->id}" type="checkbox" {$check}/>

заменить на:

<input {$dis} class="brand{echo $brand->id}" name="brand[]" data-url="{echo $brand->url}" value="{echo $brand->id}" type="checkbox" {$check}/>

строку:

<input {$dis} name="p[{echo $prop->property_id}][]" value='{echo $item.value}' type="checkbox" {$check} />

заменить на:

<input {$dis} name="p[{echo $prop->property_id}][]" data-physical="{echo $prop->csv_name}-{echo $item.id}" value='{echo $item.value}' type="checkbox" {$check} />

строку:

<span class="text-el">{echo $item.value}</span>

или

<span class="text-el">{echo htmlspecialchars_decode($item.value)}</span>

заменить на:

<span class="text-el">{echo htmlspecialchars_decode($item.value)}</span>

строку:

<input disabled="disabled" type="hidden" name="requestUri" value="{echo site_url($CI->uri->uri_string())}"/>

заменить на:

<input disabled="disabled" type="hidden" name="requestUri" value="{echo site_url('/shop/category/' . $CI->load->module('smart_filter')->formCategoryPath())}"/>


Файл: /smart_filter/main.tpl

строку:

{if $nm == $key.value or \ShopCore::encode($nm) == $key.value}  или {if $nm == $key.value || $nm == htmlspecialchars_decode($key.value)}

заменить на:

{if $nm == $key.value || $nm == htmlspecialchars_decode($key.value, ENT_QUOTES)}

строку:

<button type="button" onclick="location.href = location.origin + location.pathname" class="btn-reset-filter">

заменить на:

<button type="button" onclick="Filter.resetFilter()" class="btn-reset-filter">

Файл: /smart_filter/js/filter.js

строку:

var Filter = {

заменить на:

var Filter = { 
resetFilter: function () {  
location.href= $('input[name="requestUri"]').val(); 
},


Чистим кэш из админпанели.

 

Как сделать "живой" фильтр ,- что бы фильтр срабатывал сразу после нажатия параметра свойства:

Ответ от разработчика ImageCMS Поддержка пользователей
в файле /templates/newLevel/smart_filter/js/filter.js нужно розкомментировать строку
$(this.catalogForm).submit();

Модуль в данной версии системы не принимал активного участия в фильтрации.

Функционал фильтрации реализован модулем Filter.

Настроек не имеет.

Модуль для отображения фильтра свойств товаров.

Функционал данного модуля работает (фильтрует) по принципу подбора товаров относительно выбранных свойств товаров. Т.е. будет доступно  отметить в фильтре категории товаров несколько значений для свойств и провести фильтрацию.

В данной версии системы он должен быть деактивирован из автозагрузки в списке всех модулей для корректной его работы.

Настроек не имеет.

Решение трудностей:

Если нужно сдель вывод значений фильтра по алфавиту:
Надо в файле \templates\вашШаблон\smart_filter\filter.tpl  после строки "{if count($prop->possibleValues) > 0}" вставить "{$prop->possibleValues = user_function_sort($prop->possibleValues)}"

Информация для разработчиков:

  • smart_filter/main.tpl
    содержит список профильтрованных свойств - с возможностью удаления определенных фильтраций, и удаления всех фильтраций.
  • $curMin
    {$curMin} - выводит поточную минимальную цену товара(-ов) категории
  • $curMax
    {$curMax} - выводит поточную максимальную цену товара(-ов) категории
  • $minPrice
    {$minPrice} - выводит минимальную цену товара(-ов) категории
  • $maxPrice
    {$minPrice} - выводит максимальную цену товара(-ов) категории
  • $bands (массив)
    {var_dump($pands)} - выводит все доступные бренды категории

    пример вывода:

array (size=3)

  0 =>

    object(stdClass)[969]

      public 'name' => string 'Nokia' (length=5)

      public 'id' => string '42' (length=2)

      public 'countProducts' => int 1

  1 =>

    object(stdClass)[966]

      public 'name' => string 'Alcatel' (length=7)

      public 'id' => string '132' (length=3)

      public 'countProducts' => int 1

  2 =>

    object(stdClass)[965]

      public 'name' => string 'Fly' (length=3)

      public 'id' => string '119' (length=3)

      public 'countProducts' => int 18

  • $propertiesInCat (массив)
    {var_dump($propertiesInCat)} - содержит список доступных для вывода свойств и их значений

        пример вывода:

array (size=3)

  0 =>

    object(stdClass)[963]

      public 'property_id' => string '358' (length=3)

      public 'name' => string 'Длина шнура' (length=21)

      public 'possibleValues' =>

        array (size=2)

          0 =>

            array (size=3)

              ...

          1 =>

            array (size=3)

              ...

      public 'productsCount' => int 14

  1 =>

    object(stdClass)[964]

      public 'property_id' => string '360' (length=3)

      public 'name' => string 'Чувствительность' (length=32)

      public 'possibleValues' =>

        array (size=3)

          0 =>

            array (size=3)

              ...

          1 =>

            array (size=3)

              ...

          2 =>

            array (size=3)

              ...

      public 'productsCount' => int 14

  2 =>

    object(stdClass)[973]

      public 'property_id' => string '359' (length=3)

      public 'name' => string 'Импеданс' (length=16)

      public 'possibleValues' =>

        array (size=2)

          0 =>

            array (size=3)

              ...

          1 =>

            array (size=3)

              ...

      public 'productsCount' => int 12

  • $order_method
    {$order_method} - выводит способ сортировки

 

  • smart_filter/filter.tpl
    Выводит свойства и их значения