Правило
Это основная сущность компонента, которая связывает страницу, поля и значения для формирования ссылок. Для простого примера возьмём, что у вас есть фильтр на странице платьев, где есть цвет и размер. Поля в первую вкладку вы уже добавили, значения собрались.
Теперь настало время создать правила. Да, сейчас нам нужно добавить 3 правила для двух фильтров: (потому что люди часто так ищут) В скобках примерный шаблон названия ссылок.
- Правило для платьев по цвету;
{$m_color | ucfirst} платья
- Платья по размеру;
Платья размером {$size}
- Платья по цвету и размеру.
{$m_color | ucfirst} платья размером {$size}
Так достигается максимальная гибкость и различия в текстах проще сделать. В каждое правило нам нужно добавить соответствующие поля и привязать их к странице Платья. Причём при добавлении поля в правило можно указать, условия для создания части страниц. Например, вы хотите особенный шаблон текста для платьев зелёного, красного и синего цвета. Тогда при добавлении поля в правило нужно выбрать операцию сравнения "Содержится" и ниже перечислить запросы через запятую. А в другом правиле по цвету платьев лучше исключить эти цвета, чтобы не было дублей.
Некоторые параметры правила:
Шаблон для названия ссылки (синтаксис как в SEO) - писал уже выше, что по шаблону формируются названия ссылок, которые видно в таблице URL и выводятся по умолчанию в меню, вызванное через sfMenu
Галочка Перегенерировать названия ссылок появляется при редактировании правила, если вы изменили шаблон и хотите перегенерировать существующие ссылки.
Галочка Пересчитать результаты по каждой ссылке пересчитывает согласно условиям подсчёта результаты всех ссылок и выведет после сохранения в окошко сводную информацию о пересчёте.
Таблица с полями и кнопкой добавить. Сюда попадают все добавленные поля в правило с указанием синонима поля. Сразу ниже блока показывается маска - по которой будет формироваться все ссылки правила. Её изменять нельзя, можно лишь у конечных ссылок задать так, как вам подойдёт. Или же менять синонимы слов в словаре, для того чтобы все ссылки, связанные со словом были с корректным адресом.
Доп. условие для подсчёта ресурсов (в JSON формате) (показывается при включенных подсчётах) - нужно для того, чтобы не считать абсолютно все ресурсы. Чтобы подсчитывать только опубликованные и не удалённые можно ввести
{"published":1,"deleted":0}
. Это поле уже умеет подключать и сторонние стандартные классы msProductData (можно указать как класс полностью, так и синоним Data, Option, TV, Vendor) с ключом через точку. Например{"Data.price:>":500}
. Даже если в правиле нет поля из введённой таблицы, то оно будет "приджойнено" и результаты будут подсчитаны верно. Если что-то не так - то будет соответствующая запись в логе.Parents (для подсчёта) - это нужно для того, если страница - к которой привязано правило, и на которой выводятся ресурсы не является родительской страницей, то есть товары лежат где-нибудь в соседних страницах. Тогда подсчёты будут верно работать. Сюда можно указать несколько id родителей через запятую.
Страница - непосредственно страница, к которой привязывается правило. Возможно, есть смысл сделать PRO-режим, куда можно будет ввести ID нескольких страниц. Если вам это нужно - напишите мне обязательно в технической поддержке.
Приоритет (0 - самый большой, 1 поменьше и т.д.) - это порядок, по которому выбирается более приоритетное правило, когда есть спорная ситуация. Например у вас есть опять таки цвет и размер, но нет общего правила, объединяющего их - тогда при выборе значений в каждом фильтре (если они оба базовые) - будут подставлены заголовки и тексты более приоритетного правила.
Галочка Базовое правило - выше уже расписал для чего. Рекомендую ставить на параметрах, которые действительно общие. те же цвета, размеры или категории и грамотно расставлять приоритеты.
Вкладка SEO - SEO шаблоны, которые при открытии ссылки генерируются каждый раз. Поэтому шаблон ссылки с таким же синтаксисом в другой вкладке - она генерируется только один раз при сохранении. Сейчас там 8 полей: Заголовок страницы, H1, H2, Описание, Вводный текст, Ключевые слова, Текстовое поле, Контент. Если используете редактор кода ACE - то он будет подгружен к полю контент. У всех полей есть подсказки - чтобы знать по какому плейсхолдеру отображать на странице.
Также правила можно дублировать, вместе с добавленными полями или без, привязывая к этой же странице или другой.