Фильтры обработки тегов
Фильтры обработки тегов помогут вам улучшить качество сгенерированных объявлений. С помощью них вы сможете вырезать из тегов лишние символы или слова, удалить содержимое, находящееся в скобках, изменить регистр слов и многое другое. Чтобы применить фильтр к тегу, просто добавьте его через разделитель внутри тега, вот так: <name|capfirst>
Обратите внимание, что для использования символов < и > в параметрах фильтров или в тексте вне тега их обязательно нужно экранировать слэшем. Например: <name|cut:"\<">
Фильтр | Описание | Пример | |
---|---|---|---|
Регистр | capfirst | Первая буква в первом слове тега становится заглавной | <name> содержит: телефон samsung 32gb
<name|capfirst> выведет: Телефон samsung 32gb |
lower | Привести все слова к нижнему регистру | <name> содержит: Телефон SAMSUNG 32GB
<name|lower> выведет: телефон samsung 32gb | |
upper | Привести все слова к верхнему регистру | <name> содержит: Телефон SAMSUNG 32GB
<name|upper> выведет: ТЕЛЕФОН SAMSUNG 32GB | |
cut_bracketed | Удалить все, что заключено в скобках вместе со скобками. Обратите внимание, что скобками является все, что заключено в (), [], {}, <> |
<name> содержит: samsung 32gb (темно черный арт-1821)
<name|cut_bracketed> выведет: samsung 32gb | |
cut_service | Удалить все символы -&:+/\№ | <name> содержит: samsung 32gb №32&100
<name|cut_service> выведет: samsung 32gb 32100 | |
cut_rus_words | Вырезать все русские слова из тега. Обратите внимание, что если слово содержит смесь русских символов и нерусских, то оно не будет вырезано. Также, если слово содержит смесь русских символов и цифр, то оно не будет вырезано | <name> содержит: color ПФР yellow ФФdarck
<name|cut_rus_words> выведет: color yellow ФФdarck | |
cut_eng_words | Вырезать все английские слова из тега. Обратите внимание, что если слово содержит смесь английских символов и неанглийских, то оно не будет вырезано. Также, если слово содержит смесь английских символов и цифр, то оно не будет вырезано | <name> содержит: color ПФР yellow ФФdarck
<name|cut_eng_words> выведет: ПФР ФФdarck | |
cut_digits | Вырезать все цифры | <name> содержит: Samsung HD32GB 1301 RUS
<name|cut_digits> выведет: Samsung HDGB RUS | |
cut_word:"X" | Вырезать указанное слово или словосочетание. Если вы хотите вырезать более чем одно слово/словосочетание, то указаывайте фильтр cut_word столько раз, сколько слов/словосочетаний хотите вырезать | <name> содержит: телефон samsung 32gb темно черный
Чтобы удалить слово "темно", укажите конструкцию <name|cut_word:"темно">, результат: Телефон samsung 32gb черный | |
cut_behind_word:"X" | Вырезать все слова после указанного слова или словосочетания | <name> содержит: мобильный телефон слайдер samsung 32gb темно черный
<name|cut_behind_word:"samsung"> выведет: мобильный телефон слайдер samsung | |
cut_before_word:"X" | Вырезать все слова перед указанным словом или словосочетанием | <name> содержит: мобильный телефон слайдер samsung 32gb темно черный
<name|cut_before_word:"слайдер"> выведет: слайдер samsung 32gb темно черный | |
cut_words_shorter:"X" | Вырезать все слова, длина которых меньше или равна X. Обратите внимание, словами считаются также наборы из цифр, знаков препинания и спецсимволов | <name> содержит: samsung hd 32gb 18 white
<name|cut_words_shorter:"2"> выведет: samsung 32gb white | |
trunc_first_words:"X" | Вырезать все слова кроме первых X слов | <name> содержит: samsung 32gb темно черный арт-1821
<name|trunc_first_words:"2"> выведет: samsung 32gb | |
trunc_last_words:"X" | Вырезать все слова, кроме последних Х слов | <name> содержит: новый мобильный телефон слайдер samsung 32gb
<name|trunc_last_words:"2"> выведет: samsung 32gb | |
cut_first_words:"X" | Вырезать X первых слов | <name> содержит: новый мобильный телефон слайдер samsung 32gb
<name|cut_first_words:"4"> выведет: samsung 32gb | |
cut_last_words:"X" | Вырезать X последних слов | <name> содержит: samsung 32gb темно черный арт-1821
<name|cut_last_words:"3"> выведет: samsung 32gb | |
cut_first_signs:"X" | Вырезать X первых символов | <name> содержит: samsung 32gb
<name|cut_first_signs:"3"> выведет: sung 32gb | |
cut_last_signs:"X" | Вырезать X последних символов | <name> содержит: samsung 32gb
<name|cut_last_signs:"2"> выведет: samsung 32 | |
replace:"X" | Заменить в содержимом тега все вхождения символа или группы символов. Обратите внимание: фильтр не учитывает регистры, "условие1" и "УСЛОВИЕ1" считаются одинаковыми. | <name> содержит: Samsung 32gb
<name|replace:"samsung||Apple"> выведет: Apple 32gb | |
replace_map:"X" | Заменить содержимое тега на новое значение, если содержимое тега соответствует заданному условию. Обратите внимание: вы можете задать несколько условий подряд. Например: "условие1||значение1||условие2||значение2||условие3||значение3". Обратите внимание: фильтр учитывает регистры, "условие1" и "УСЛОВИЕ1" считаются разными. |
Пример 1. Задача: Если значение тега <delivery> равно "Доставка 350р", то вместо тега <delivery> ставить "Платная доставка".
<delivery> содержит: Доставка 350р <delivery|replace_map:"Доставка 350р||Платная доставка">
Пример 2. Задача: Если значение тега <delivery> равно "Доставка 0р", то вместо тега <delivery> ставить "Бесплатная доставка". Если значение тега <delivery> равно "Доставка 350р", то вместо тега <delivery> ставить "Платная доставка". Если значение тега <delivery> равно "Нет доставки", то вместо тега <delivery> ставить "Самовывоз".
<delivery> содержит: Нет доставки
| |
condition_map:"X" | Заменить содержимое тега на новое значение, если содержимое тега соответствует выбранному цифровому диапазону. Подходит только для тегов, содержащих цифровое значение. Обратите внимание: вы можете в качестве условия задать несколько цифровых диапазонов. | Пример 1. Задача: Если значение тега <delivery> меньше "100", то вместо тега <delivery> ставить "Дешевая доставка". Если значение тега <delivery> больше или равно "100", то вместо тега <delivery> ставить "Дорогая доставка".
<delivery> содержит: 50
Пример 2. Задача: Если значение тега <delivery> меньше "100", то вместо тега <delivery> ставить "Дешевая доставка". Если значение тега <delivery> больше или равно "100" и меньше "300", то вместо тега <delivery> ставить "Средняя доставка". Если значение тега <delivery> больше или равно "300", то вместо тега <delivery> ставить "Дорогая доставка".
<delivery> содержит: 200
| |
default:"X" | Установить значение по умолчанию. Если значение тега пустое или тег не задан, будет использовано значение по умолчанию | Тег <name> пустой
<name|default:"Мобильный телефон"> выведет: Мобильный телефон | |
cut:"X" | Вырезать указанный символ или группу символов. Если вы хотите вырезать более чем один символ/группу символов, то указывайте фильтр cut столько раз, сколько символов/групп символов хотите вырезать | <name> содержит: samsung 32gb темно черный арт-1821
<name|cut:"-"|cut:"gb"> выведет: samsung 32 темно черный арт1821 | |
cut_behind_sign:"X" | Вырезать все после указанного символа/группы символов | <name> содержит: samsung hd 32gb-18 white
<name|cut_behind_sign:"-18"> выведет: samsung hd 32gb |
Примеры применения фильтров
Пример 1
Вы хотите использовать название товара в заголовке объявления. Название передается в теге <name>, но с маленькой буквы: samsung 32
Применим конструкцию <name|capfirst>
В заголовке объявления будет первое слово с большой буквы: Samsung 32gb
Пример 2
Вы хотите в качестве ключевых слов использовать названия моделей. У вас названия моделей вместе с артикулами передаются в теге <model> и выглядят так:
Пылесос lg 1281 Артикул 23879
Пылесос samsung H-18 Артикул 99348
Пылесос indesit KLD Артикул 34722
Очевидно, что вам хочется использовать в ключевых словах названия моделей без артикулов. Чтобы этого добиться, в шаблонах ключевых слов укажите тег с фильтром Cut_behind_word:"X", который позволяет вырезать слово Артикул и все, что после него:
<model|Cut_behind_word:"Артикул">
В результате в ключевых словах у вас будет следующее:
Пылесос lg 1281
Пылесос samsung H-18
Пылесос indesit KLD
Могу ли я применить сразу несколько фильтров?
Можете! Рассмотрим на нашем "примере с Артикулами"
Пример 3
В теге <model> указываются названия моделей с артикулами:
Пылесос lg 1281 Артикул 23879
Пылесос samsung H-18 Артикул 99348
Пылесос indesit KLD Артикул 34722
Предположим, что мы хотим использовать названия товаров в заголовках объявлений, но без Артикула и без первого слова Пылесос. А также хотим, чтобы первое слово в заголовках начиналось с большой буквы. Для решения этой задачи применяем последовательно три фильтра:
Cut_behind_word:"Артикул" - Вырезать все слова после слова Артикул
Cut_first_words:"1"- Вырезать первое слово
Capfirst - Сделать первую букву заглавной.
В шаблоне заголовка объявления это будет выглядеть так:
<model|Cut_behind_word:"Артикул"|Cut_first_words:"1"|Capfirst>
В результате обработки мы получим следующие заголовки объявлений:
Lg 1281
Samsung H-18
Indesit KLD