Поле
Поле, фильтр, столбец - можно называть по разному. Основное, что нужно понимать для корректной настройки - это то, чем отличается класс msProductData
от modResource
или msProductOptions
, потому что значения одного товара хранятся в разных местах.
Например для тегов из miniShop2 нужно выбрать класс msProductOptions, так как значения в удобном формате хранятся в сторонней таблице опций. По умолчанию есть список классов, но в поле можно ввести любой класс, даже вашего собственного компонента. К тому же - можно научить SeoFilter подсчитывать результаты и по вашим таблицам, но об этом позже.
После добавления поля нельзя изменять класс и ключ, но можно поменять синоним. Например, если раньше для поля "Цвет" вы использовали синоним color а потом решили использовать cvet, то сменив в поле синоним - ничего не сломается. В таких случаях SeoFilter попробует в текстах правил исправить старую переменную {$color}
на {$cvet}
, даже учитывая падежные написания {$color_r}
.
Некоторые параметры поля:
Скрывать параметр в URL - при формировании ссылок в правиле параметр(синоним поля) будет скрываться. Вместо ссылки
/color-green
будет просто/green
Значение перед параметром - делает фрагмент ссылки наоборот, вместо
/color-green
будет/green-color
Точное вхождение (строгий поиск) - в основном эта настройка нужна для точности подсчётов. Если например в поле содержатся числовые значения(id) - то лучше поставить галочку. Отличается тем, что без галочки значения ищутся по LIKE %val%, а с ней со строгим соответствием.
Поле типа "Слайдер" (number фильтры) - это для таких полей, как цены. При поставленной галочке значения собираться не будут и нужно будет самостоятельно в словарь добавить запросы, например такой: "0,10000" со значением "Недорогой" или "Товары до 10 тысяч". То есть указывается сразу диапазон, между двух значений. И если на странице каталога в фильтре выбрать промежуток между двумя 0 и 10000 - адрес страницы изменится на /nedorogie или так, как настроено формирование ЧПУ в системных настройках. Использовать такое поле можно совместно и с другими.
Значение в другой таблице - одна из самых важных функций, если помимо стандартных полей с конечными значениями вы используете поля, которые подтягивают значения из других полей. Например, то же поле
parent
из классаmodResource
содержит название родителя не в этом же поле, а только лишь его ID. Конечно же, использование ID в SEO-текстах никуда не годится и мы захотим получить его название, да ещё и просклонять. Можно и в ручную исправить записи в словаре, но это не удобно. Поэтому в таком случае в выпавших полях после активации галочки нужно будет заполнить 3 из 4 полей. Компонент можно пропустить, так как загружать модель стандартной таблицы в MODX - нет необходимости. Класс - запишемmodResource
, поле для сопоставления -id
, в поле где хранится значение -pagetitle
.Включено - отключение поля не убирает его из правил, а лишь прекращает сбор значений для этого поля. Нужно, если в словарь попадает какой-то мусор, а больше автоматически формировать ссылки вы не намерены.
Зависимое поле - функция довольно таки новая и при её активации выпадает ещё 2 поля для ввода. Допустим у нас каталог автомобилей и мы уже добавили поле Марка, а сейчас добавляем Модель. И теперь в появившееся поле "Зависит от" мы выбираем уже ранее добавленную Марку. А в следующее "По столбцу" впишем marka. (всё это будет хорошо работать, если марки и модели хранятся в таблицах собственного компонента или например, в таблицах customExtra).
Дополнительное условие для сбора значений - совсем простое условие, которое будет применять условие для ограничения сбора только к таблице, по которой собирает значения. Возможно, в будущем поле станет функциональнее.