Фильтры обработки тегов — различия между версиями
Natalie (обсуждение | вклад) (→1. Точное соответствие тега значению параметра) |
Elizabeth (обсуждение | вклад) (→Возможные фильтры) |
||
(не показано 48 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
− | Фильтры обработки тегов помогут вам улучшить качество сгенерированных объявлений. | + | Фильтры обработки тегов помогут вам улучшить качество сгенерированных объявлений. Фильтры позволяют массово вносить изменения в содержимое тегов xml-файла и минимизировать ручные корректировки: |
+ | *менять регистр слов и отдельных букв, | ||
+ | *добавлять слова или символы, | ||
+ | *вырезать символы, слова, группы слов, | ||
+ | *задавать условия на содержимое тегов, | ||
+ | *заменять содержимое тегов, | ||
+ | *переводить содержимое тегов на русском в транслитерацию и наоборот, | ||
+ | *добавлять синонимы. | ||
− | Обратите внимание, что для использования символов < и > в параметрах фильтров или в тексте вне тега их обязательно нужно экранировать | + | Чтобы применить фильтр к тегу, просто добавьте его через разделитель внутри тега, вот так: <name|capfirst> |
− | Например: <name|cut:"\<"> | + | |
+ | Обратите внимание, что для использования символов < и > в параметрах фильтров или в тексте вне тега их обязательно нужно экранировать обратным слешем. Также, при использовании обратных слешей в параметрах фильтров, их тоже нужно экранировать обратным слешем. | ||
+ | Например: <name|cut:"\<"> или <name|cut:"\\">. | ||
+ | Если вы хотите удалить кавычки с помощью фильтра cut, то их нужно экранировать апострофом. Например: <cut:'"'> | ||
== Возможные фильтры == | == Возможные фильтры == | ||
{| class="wikitable" width="80%" | {| class="wikitable" width="80%" | ||
− | + | |-style="background:#B6D7A8" | |
− | !Фильтр | + | |colspan="3" style="text-align:center" | |
− | !width="40%"| Описание | + | === Изменение регистра символа, слова, группы слов === |
− | !Пример | + | |- |
+ | !style="background:#B6D7A8"| Фильтр | ||
+ | !style="background:#B6D7A8" width="40%"| Описание | ||
+ | !style="background:#B6D7A8"|Пример | ||
|- | |- | ||
− | + | !style="background:#D9EAD3"|capfirst | |
− | + | ||
|Первая буква в первом слове тега становится заглавной | |Первая буква в первом слове тега становится заглавной | ||
|<name> содержит: телефон samsung 32gb | |<name> содержит: телефон samsung 32gb | ||
<name|capfirst> выведет: Телефон samsung 32gb | <name|capfirst> выведет: Телефон samsung 32gb | ||
|- | |- | ||
− | !lower | + | !style="background:#D9EAD3"|lower |
|Привести все слова к нижнему регистру | |Привести все слова к нижнему регистру | ||
|<name> содержит: Телефон SAMSUNG 32GB | |<name> содержит: Телефон SAMSUNG 32GB | ||
<name|lower> выведет: телефон samsung 32gb | <name|lower> выведет: телефон samsung 32gb | ||
|- | |- | ||
− | !upper | + | !style="background:#D9EAD3"|upper |
|Привести все слова к верхнему регистру | |Привести все слова к верхнему регистру | ||
|<name> содержит: Телефон SAMSUNG 32GB | |<name> содержит: Телефон SAMSUNG 32GB | ||
<name|upper> выведет: ТЕЛЕФОН SAMSUNG 32GB | <name|upper> выведет: ТЕЛЕФОН SAMSUNG 32GB | ||
|- | |- | ||
− | !words_case_capfirst_with:"X" | + | !style="background:#D9EAD3"|words_case_capfirst_with:"X" |
|Сделать первую букву заглавной в словах, которые содержат заданные символы. Обратите внимание: регистр символов имеет значение. | |Сделать первую букву заглавной в словах, которые содержат заданные символы. Обратите внимание: регистр символов имеет значение. | ||
|<name> содержит: super sony1 vaio без порта909 доставка | |<name> содержит: super sony1 vaio без порта909 доставка | ||
Строка 34: | Строка 46: | ||
<name|words_case_capfirst_with:"ony"> сделает с заглавной буквы только слова содержащие ony: super Sony1 vaio без порта909 доставка | <name|words_case_capfirst_with:"ony"> сделает с заглавной буквы только слова содержащие ony: super Sony1 vaio без порта909 доставка | ||
|- | |- | ||
− | !words_case_capfirst:"X" | + | !style="background:#D9EAD3"|words_case_capfirst:"X" |
|Позволяет автоматически выбрать слова, которые необходимо написать с заглавной буквы. Можно выбрать либо только слова на русском("R"), либо только слова на английском("E"), либо слово с заданным порядковым номером ("5") Если слово содержит смесь английских и русских букв или смесь букв и цифр, то у него не будет изменен регистр, если в качестве критерия выбран язык | |Позволяет автоматически выбрать слова, которые необходимо написать с заглавной буквы. Можно выбрать либо только слова на русском("R"), либо только слова на английском("E"), либо слово с заданным порядковым номером ("5") Если слово содержит смесь английских и русских букв или смесь букв и цифр, то у него не будет изменен регистр, если в качестве критерия выбран язык | ||
|<name> содержит: super sony1 vaio без порта909 доставка <name|words_case_capfirst:"3"> сделает заглавной букву только у третьего слова по порядку: super sony1 Vaio без порта909 доставка | |<name> содержит: super sony1 vaio без порта909 доставка <name|words_case_capfirst:"3"> сделает заглавной букву только у третьего слова по порядку: super sony1 Vaio без порта909 доставка | ||
Строка 41: | Строка 53: | ||
<name|words_case_capfirst:"2R"> сделает заглавной букву только у второго русского слова: super sony1 vaio без порта909 Доставка Если вам необходимо сделать заглавную букву сразу у двух слов с учетом их порядка, то указывайте два фильтра подряд: <name|words_case_capfirst:"2"|words_case_capfirst:"3"> | <name|words_case_capfirst:"2R"> сделает заглавной букву только у второго русского слова: super sony1 vaio без порта909 Доставка Если вам необходимо сделать заглавную букву сразу у двух слов с учетом их порядка, то указывайте два фильтра подряд: <name|words_case_capfirst:"2"|words_case_capfirst:"3"> | ||
|- | |- | ||
− | !words_case_upper:"X" | + | !style="background:#D9EAD3"|words_case_upper:"X" |
|Позволяет автоматически выбрать слова, которые необходимо перевести в верхний регистр. Можно выбрать либо только слова на русском("R"), либо только слова на английском("E"), либо слово с заданным порядковым номером("5") Если слово содержит смесь английских и русских букв или смесь букв и цифр, то у него не будет изменен регистр, если в качестве критерия выбран язык | |Позволяет автоматически выбрать слова, которые необходимо перевести в верхний регистр. Можно выбрать либо только слова на русском("R"), либо только слова на английском("E"), либо слово с заданным порядковым номером("5") Если слово содержит смесь английских и русских букв или смесь букв и цифр, то у него не будет изменен регистр, если в качестве критерия выбран язык | ||
|<name> содержит: super sony1 vaio без порта909 доставка | |<name> содержит: super sony1 vaio без порта909 доставка | ||
Строка 50: | Строка 62: | ||
<name|words_case_upper:"2R"> сделает верхним регистром только второе русское слово: super sony1 vaio без порта909 ДОСТАВКА Если вам необходимо изменить регистр сразу у двух слов с учетом их порядка, то указывайте два фильтра подряд: <name|words_case_upper:"2"|words_case_upper:"3"> | <name|words_case_upper:"2R"> сделает верхним регистром только второе русское слово: super sony1 vaio без порта909 ДОСТАВКА Если вам необходимо изменить регистр сразу у двух слов с учетом их порядка, то указывайте два фильтра подряд: <name|words_case_upper:"2"|words_case_upper:"3"> | ||
|- | |- | ||
− | !words_case_lower:"X" | + | !style="background:#D9EAD3"|words_case_lower:"X" |
|Позволяет автоматически выбрать слова, которые необходимо перевести в нижний регистр. Можно выбрать либо только слова на русском("R"), либо только слова на английском("E"), либо слово с заданным порядковым номером("5") Если слово содержит смесь английских и русских букв или смесь букв и цифр, то у него не будет изменен регистр, если в качестве критерия выбран язык | |Позволяет автоматически выбрать слова, которые необходимо перевести в нижний регистр. Можно выбрать либо только слова на русском("R"), либо только слова на английском("E"), либо слово с заданным порядковым номером("5") Если слово содержит смесь английских и русских букв или смесь букв и цифр, то у него не будет изменен регистр, если в качестве критерия выбран язык | ||
|<name> содержит: SUPER SONY1 VAIO БЕЗ ПОРТА909 ДОСТАВКА | |<name> содержит: SUPER SONY1 VAIO БЕЗ ПОРТА909 ДОСТАВКА | ||
Строка 59: | Строка 71: | ||
<name|words_case_lower:"2R"> сделает нижним регистром только второе русское слово: SUPER SONY1 VAIO БЕЗ ПОРТА909 доставка Если вам необходимо изменить регистр сразу у двух слов с учетом их порядка, то указывайте два фильтра подряд: <name|words_case_lower:"2"|words_case_lower:"3"> | <name|words_case_lower:"2R"> сделает нижним регистром только второе русское слово: SUPER SONY1 VAIO БЕЗ ПОРТА909 доставка Если вам необходимо изменить регистр сразу у двух слов с учетом их порядка, то указывайте два фильтра подряд: <name|words_case_lower:"2"|words_case_lower:"3"> | ||
|- | |- | ||
− | !words_case_swap:"X" | + | !style="background:#D9EAD3"|words_case_swap:"X" |
|Позволяет автоматически выбрать слова, регистр которых необходимо инвертировать. Можно выбрать либо только слова на русском("R"), либо только слова на английском("E"), либо слово с заданным порядковым номером("5") Если слово содержит смесь английских и русских букв или смесь букв и цифр, то у него не будет изменен регистр, если в качестве критерия выбран язык | |Позволяет автоматически выбрать слова, регистр которых необходимо инвертировать. Можно выбрать либо только слова на русском("R"), либо только слова на английском("E"), либо слово с заданным порядковым номером("5") Если слово содержит смесь английских и русских букв или смесь букв и цифр, то у него не будет изменен регистр, если в качестве критерия выбран язык | ||
|<name> содержит: Super Sony1 Vaio Без Порта909 Доставка | |<name> содержит: Super Sony1 Vaio Без Порта909 Доставка | ||
Строка 67: | Строка 79: | ||
<name|words_case_swap:"2R"> инвертирует регистр только у второго русского слова: Super Sony1 Vaio Без Порта909 дОСТАВКА Если вам необходимо инвертировать регистр сразу у двух слов с учетом их порядка, то указывайте два фильтра подряд: <name|words_case_swap:"2"|words_case_swap:"3"> | <name|words_case_swap:"2R"> инвертирует регистр только у второго русского слова: Super Sony1 Vaio Без Порта909 дОСТАВКА Если вам необходимо инвертировать регистр сразу у двух слов с учетом их порядка, то указывайте два фильтра подряд: <name|words_case_swap:"2"|words_case_swap:"3"> | ||
|- | |- | ||
− | !words_case_upper_with:"X" | + | !style="background:#D9EAD3"|words_case_upper_with:"X" |
|Привести слова к верхнему регистру, если они содержат заданные символы. Обратите внимание: регистр символов имеет значение | |Привести слова к верхнему регистру, если они содержат заданные символы. Обратите внимание: регистр символов имеет значение | ||
|<name> содержит: super sony1 vaio без порта909 доставка | |<name> содержит: super sony1 vaio без порта909 доставка | ||
Строка 73: | Строка 85: | ||
<name|words_case_upper_with:"дос"> сделает верхний регистр только у слов содержащих дос: super sony1 vaio без порта909 ДОСТАВКА | <name|words_case_upper_with:"дос"> сделает верхний регистр только у слов содержащих дос: super sony1 vaio без порта909 ДОСТАВКА | ||
|- | |- | ||
− | ! | + | !style="background:#D9EAD3"|words_case_lower_with:"X" |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|Привести слова к нижнему регистру, если они содержат заданные символы. Обратите внимание: регистр символов имеет значение. | |Привести слова к нижнему регистру, если они содержат заданные символы. Обратите внимание: регистр символов имеет значение. | ||
|<name> содержит: SUPER SONY1 VAIO БЕЗ ПОРТА909 ДОСТАВКА | |<name> содержит: SUPER SONY1 VAIO БЕЗ ПОРТА909 ДОСТАВКА | ||
Строка 85: | Строка 91: | ||
<name|words_case_lower_with:"ДОС"> сделает нижний регистр только у слов содержащих ДОС: SUPER SONY1 VAIO БЕЗ ПОРТА909 доставка | <name|words_case_lower_with:"ДОС"> сделает нижний регистр только у слов содержащих ДОС: SUPER SONY1 VAIO БЕЗ ПОРТА909 доставка | ||
|- | |- | ||
− | !words_case_swap_with:"X" | + | !style="background:#D9EAD3"|words_case_swap_with:"X" |
|Инвертировать регистр слов, если они содержат заданные символы. Обратите внимание: регистр символов имеет значение. | |Инвертировать регистр слов, если они содержат заданные символы. Обратите внимание: регистр символов имеет значение. | ||
|<name> содержит: super Sony1 Vaio Без Порта909 Доставка | |<name> содержит: super Sony1 Vaio Без Порта909 Доставка | ||
<name|words_case_swap_with:"S"> инвертирует регистр только у слов содержащих большую S: super sONY1 Vaio Без Порта909 Доставка | <name|words_case_swap_with:"S"> инвертирует регистр только у слов содержащих большую S: super sONY1 Vaio Без Порта909 Доставка | ||
<name|words_case_swap_with:"Дос"> инвертирует регистр только у слов содержащих Дос: super Sony1 Vaio Без Порта909 дОСТАВКА | <name|words_case_swap_with:"Дос"> инвертирует регистр только у слов содержащих Дос: super Sony1 Vaio Без Порта909 дОСТАВКА | ||
+ | |-style="background:#9FC5E8" | ||
+ | |colspan="3" style="text-align:center" | | ||
+ | === Вырезать пробел, символ или группу символов === | ||
+ | |- | ||
+ | !style="background:#9FC5E8"|Фильтр | ||
+ | !style="background:#9FC5E8" width="40%"|Описание | ||
+ | !style="background:#9FC5E8"|Пример | ||
|- | |- | ||
− | + | !style="background:#CFE2F3"|cut_rus_words | |
− | + | ||
|Вырезать все русские слова из тега. Обратите внимание, что если слово содержит смесь русских символов и нерусских, то оно не будет вырезано. Также, если слово содержит смесь русских символов и цифр, то оно не будет вырезано | |Вырезать все русские слова из тега. Обратите внимание, что если слово содержит смесь русских символов и нерусских, то оно не будет вырезано. Также, если слово содержит смесь русских символов и цифр, то оно не будет вырезано | ||
|<name> содержит: color ПФР yellow ФФdarck | |<name> содержит: color ПФР yellow ФФdarck | ||
<name|cut_rus_words> выведет: color yellow ФФdarck | <name|cut_rus_words> выведет: color yellow ФФdarck | ||
|- | |- | ||
− | !cut_eng_words | + | !style="background:#CFE2F3"|cut_eng_words |
|Вырезать все английские слова из тега. Обратите внимание, что если слово содержит смесь английских символов и неанглийских, то оно не будет вырезано. Также, если слово содержит смесь английских символов и цифр, то оно не будет вырезано | |Вырезать все английские слова из тега. Обратите внимание, что если слово содержит смесь английских символов и неанглийских, то оно не будет вырезано. Также, если слово содержит смесь английских символов и цифр, то оно не будет вырезано | ||
|<name> содержит: color ПФР yellow ФФdarck | |<name> содержит: color ПФР yellow ФФdarck | ||
<name|cut_eng_words> выведет: ПФР ФФdarck | <name|cut_eng_words> выведет: ПФР ФФdarck | ||
|- | |- | ||
− | !cut_digits | + | !style="background:#CFE2F3"|cut_digits |
|Вырезать все цифры | |Вырезать все цифры | ||
|<name> содержит: Samsung HD32GB 1301 RUS | |<name> содержит: Samsung HD32GB 1301 RUS | ||
<name|cut_digits> выведет: Samsung HDGB RUS | <name|cut_digits> выведет: Samsung HDGB RUS | ||
+ | |- | ||
+ | !style="background:#CFE2F3"|cut_letters | ||
+ | |Вырезать все буквы (останутся только цифры, пробелы и спецсимволы) | ||
+ | |<name> содержит: Samsung HD32GB 1301 RUS $130 | ||
+ | <name|cut_letters> выведет: 32 1301 $130 | ||
|- | |- | ||
− | !cut_bracketed | + | !style="background:#CFE2F3"|cut_bracketed |
|Удалить все, что заключено в скобках вместе со скобками. <br>Обратите внимание, что скобками является все, что заключено в (), [], {}, <> | |Удалить все, что заключено в скобках вместе со скобками. <br>Обратите внимание, что скобками является все, что заключено в (), [], {}, <> | ||
|<name> содержит: samsung 32gb (темно черный арт-1821) | |<name> содержит: samsung 32gb (темно черный арт-1821) | ||
<name|cut_bracketed> выведет: samsung 32gb | <name|cut_bracketed> выведет: samsung 32gb | ||
|- | |- | ||
− | !cut_service | + | !style="background:#CFE2F3"|cut_service |
|Удалить все символы -&:+/\№ | |Удалить все символы -&:+/\№ | ||
|<name> содержит: samsung 32gb №32&100 | |<name> содержит: samsung 32gb №32&100 | ||
<name|cut_service> выведет: samsung 32gb 32100 | <name|cut_service> выведет: samsung 32gb 32100 | ||
|- | |- | ||
− | + | !style="background:#CFE2F3"|cut_word:"X" | |
− | + | |Вырезать указанное слово или словосочетание. Если вы хотите вырезать более чем одно слово/словосочетание, то указывайте фильтр cut_word столько раз, сколько слов/словосочетаний хотите вырезать. Обратите внимание: фильтр не учитывает регистры, "условие1" и "УСЛОВИЕ1" считаются одинаковыми. | |
− | |Вырезать указанное слово или словосочетание. Если вы хотите вырезать более чем одно слово/словосочетание, то | + | |
|<name> содержит: телефон samsung 32gb темно черный | |<name> содержит: телефон samsung 32gb темно черный | ||
Чтобы удалить слово "темно", укажите конструкцию <name|cut_word:"темно">, результат: Телефон samsung 32gb черный <br>Чтобы удалить словосочеатние "темно черный", укажите конструкцию <name|cut_word:"темно черный">, результат: Телефон samsung 32gb <br>Чтобы удалить слово "Телефон" и "темно", укажите конструкцию <name|cut_word:"темно"|cut_word:"телефон">, результат: samsung 32gb черный | Чтобы удалить слово "темно", укажите конструкцию <name|cut_word:"темно">, результат: Телефон samsung 32gb черный <br>Чтобы удалить словосочеатние "темно черный", укажите конструкцию <name|cut_word:"темно черный">, результат: Телефон samsung 32gb <br>Чтобы удалить слово "Телефон" и "темно", укажите конструкцию <name|cut_word:"темно"|cut_word:"телефон">, результат: samsung 32gb черный | ||
|- | |- | ||
− | !cut_behind_word:"X" | + | !style="background:#CFE2F3"|cut_behind_word:"X" |
|Вырезать все слова после указанного слова или словосочетания | |Вырезать все слова после указанного слова или словосочетания | ||
− | |<name> содержит: мобильный телефон слайдер samsung 32gb темно черный | + | |<name> содержит: мобильный телефон слайдер samsung 32gb темно-черный |
<name|cut_behind_word:"samsung"> выведет: мобильный телефон слайдер samsung | <name|cut_behind_word:"samsung"> выведет: мобильный телефон слайдер samsung | ||
|- | |- | ||
− | !cut_before_word:"X" | + | !style="background:#CFE2F3"|cut_before_word:"X" |
|Вырезать все слова перед указанным словом или словосочетанием | |Вырезать все слова перед указанным словом или словосочетанием | ||
|<name> содержит: мобильный телефон слайдер samsung 32gb темно черный | |<name> содержит: мобильный телефон слайдер samsung 32gb темно черный | ||
<name|cut_before_word:"слайдер"> выведет: слайдер samsung 32gb темно черный | <name|cut_before_word:"слайдер"> выведет: слайдер samsung 32gb темно черный | ||
|- | |- | ||
− | !cut_words_shorter:"X" | + | !style="background:#CFE2F3"|cut_words_shorter:"X" |
|Вырезать все слова, длина которых меньше или равна X. Обратите внимание, словами считаются также наборы из цифр, знаков препинания и спецсимволов | |Вырезать все слова, длина которых меньше или равна X. Обратите внимание, словами считаются также наборы из цифр, знаков препинания и спецсимволов | ||
|<name> содержит: samsung hd 32gb 18 white | |<name> содержит: samsung hd 32gb 18 white | ||
<name|cut_words_shorter:"2"> выведет: samsung 32gb white | <name|cut_words_shorter:"2"> выведет: samsung 32gb white | ||
− | |- | + | |- |
− | + | !style="background:#CFE2F3"|trunc_first_words:"X" | |
− | + | ||
|Вырезать все слова кроме первых X слов | |Вырезать все слова кроме первых X слов | ||
|<name> содержит: samsung 32gb темно черный арт-1821 | |<name> содержит: samsung 32gb темно черный арт-1821 | ||
<name|trunc_first_words:"2"> выведет: samsung 32gb | <name|trunc_first_words:"2"> выведет: samsung 32gb | ||
|- | |- | ||
− | !trunc_last_words:"X" | + | !style="background:#CFE2F3"|trunc_last_words:"X" |
|Вырезать все слова, кроме последних Х слов | |Вырезать все слова, кроме последних Х слов | ||
|<name> содержит: новый мобильный телефон слайдер samsung 32gb | |<name> содержит: новый мобильный телефон слайдер samsung 32gb | ||
<name|trunc_last_words:"2"> выведет: samsung 32gb | <name|trunc_last_words:"2"> выведет: samsung 32gb | ||
|- | |- | ||
− | !cut_first_words:"X" | + | !style="background:#CFE2F3"|cut_first_words:"X" |
|Вырезать X первых слов | |Вырезать X первых слов | ||
|<name> содержит: новый мобильный телефон слайдер samsung 32gb | |<name> содержит: новый мобильный телефон слайдер samsung 32gb | ||
<name|cut_first_words:"4"> выведет: samsung 32gb | <name|cut_first_words:"4"> выведет: samsung 32gb | ||
|- | |- | ||
− | !cut_last_words:"X" | + | !style="background:#CFE2F3"|cut_last_words:"X" |
|Вырезать X последних слов | |Вырезать X последних слов | ||
|<name> содержит: samsung 32gb темно черный арт-1821 | |<name> содержит: samsung 32gb темно черный арт-1821 | ||
<name|cut_last_words:"3"> выведет: samsung 32gb | <name|cut_last_words:"3"> выведет: samsung 32gb | ||
|- | |- | ||
− | !cut_first_signs:"X" | + | !style="background:#CFE2F3"|cut_first_signs:"X" |
|Вырезать X первых символов | |Вырезать X первых символов | ||
|<name> содержит: samsung 32gb | |<name> содержит: samsung 32gb | ||
<name|cut_first_signs:"3"> выведет: sung 32gb | <name|cut_first_signs:"3"> выведет: sung 32gb | ||
|- | |- | ||
− | !cut_last_signs:"X" | + | !style="background:#CFE2F3"|cut_last_signs:"X" |
|Вырезать X последних символов | |Вырезать X последних символов | ||
|<name> содержит: samsung 32gb | |<name> содержит: samsung 32gb | ||
<name|cut_last_signs:"2"> выведет: samsung 32 | <name|cut_last_signs:"2"> выведет: samsung 32 | ||
|- | |- | ||
− | !cut_word_number:"X" | + | !style="background:#CFE2F3"|cut_word_number:"X" |
|Вырезать слова выбранного порядкового номера (с начала или с конца фразы) | |Вырезать слова выбранного порядкового номера (с начала или с конца фразы) | ||
|<name> содержит: телефон samsung 32gb wifi | |<name> содержит: телефон samsung 32gb wifi | ||
Строка 175: | Строка 190: | ||
<name|cut_word_number:"-2"> вырежет второе слово с конца и выведет: телефон samsung wifi | <name|cut_word_number:"-2"> вырежет второе слово с конца и выведет: телефон samsung wifi | ||
|- | |- | ||
− | !cut_words_length:"X" | + | !style="background:#CFE2F3"|cut_words_length:"X" |
|Вырезать все слова, длина которых или больше, или меньше, или равна заданному значению | |Вырезать все слова, длина которых или больше, или меньше, или равна заданному значению | ||
|<name> содержит: 123 1234 12345 123456 1234567 | |<name> содержит: 123 1234 12345 123456 1234567 | ||
Строка 183: | Строка 198: | ||
<name|cut_words_length:"gt5"> вырежет слова, длина которых больше 5, и выведет: 123 1234 12345 | <name|cut_words_length:"gt5"> вырежет слова, длина которых больше 5, и выведет: 123 1234 12345 | ||
|- | |- | ||
− | | | + | !style="background:#CFE2F3"|unsplit_alpha_numeric |
− | !replace:"X" | + | |Вырезать пробелы между буквами и цифрами |
+ | |<name> содержит: FV 9915 EL MK 12 | ||
+ | <name|unsplit_alpha_numeric> выведет: FV9915EL MK12 | ||
+ | |- | ||
+ | !style="background:#CFE2F3"|cut:"X" | ||
+ | |Вырезать указанный символ или группу символов. Если вы хотите вырезать более чем один символ/группу символов, то указывайте фильтр cut столько раз, сколько символов/групп символов хотите вырезать. Обратите внимание: фильтр учитывает регистры, "условие1" и "УСЛОВИЕ1" считаются не равнозначными условиями. | ||
+ | |<name> содержит: samsung 32gb темно черный арт-1821 | ||
+ | <name|cut:"-"|cut:"gb"> выведет: samsung 32 темно черный арт1821 | ||
+ | |- | ||
+ | !style="background:#CFE2F3"|cut_behind_sign:"X" | ||
+ | |Вырезать все после указанного одиночного символа. | ||
+ | |<name> содержит: samsung hd 32gb-18 white | ||
+ | <name|cut_behind_sign:"b"> выведет: samsung hd 32gb | ||
+ | |-style="background:#F9CB9C" | ||
+ | |colspan="3" style="text-align:center" | | ||
+ | |||
+ | === Фильтры замены и условий === | ||
+ | |- | ||
+ | !style="background:#F9CB9C"|Фильтр | ||
+ | !style="background:#F9CB9C" width="40%"| Описание | ||
+ | !style="background:#F9CB9C"|Пример | ||
+ | |- | ||
+ | !style="background:#FCE5CD"|replace:"X" | ||
|Заменить в содержимом тега все вхождения символа или группы символов. Обратите внимание: фильтр не учитывает регистры, "условие1" и "УСЛОВИЕ1" считаются одинаковыми. | |Заменить в содержимом тега все вхождения символа или группы символов. Обратите внимание: фильтр не учитывает регистры, "условие1" и "УСЛОВИЕ1" считаются одинаковыми. | ||
|<name> содержит: Samsung 32gb | |<name> содержит: Samsung 32gb | ||
<name|replace:"samsung||Apple"> выведет: Apple 32gb | <name|replace:"samsung||Apple"> выведет: Apple 32gb | ||
|- | |- | ||
− | !inner_replace:"X" | + | !style="background:#FCE5CD"|inner_replace:"X" |
|Заменить текст между двумя наборами символов | |Заменить текст между двумя наборами символов | ||
|<name> содержит: sony vaio 32gb wifi | |<name> содержит: sony vaio 32gb wifi | ||
<name|inner_replace:"sony||32gb|| ваио "> выведет: sony ваио 32gb wifi | <name|inner_replace:"sony||32gb|| ваио "> выведет: sony ваио 32gb wifi | ||
|- | |- | ||
− | !inner:"X" | + | !style="background:#FCE5CD"|inner:"X" |
|Оставить только текст между двумя наборами символов | |Оставить только текст между двумя наборами символов | ||
|<name> содержит: sony vaio 32gb wifi | |<name> содержит: sony vaio 32gb wifi | ||
Строка 202: | Строка 239: | ||
<name> содержит: AA, text, BB other | <name> содержит: AA, text, BB other | ||
<name|inner:",||,"> выведет: text | <name|inner:",||,"> выведет: text | ||
− | |- | + | |- |
− | ! | + | !style="background:#FCE5CD"|condition_map:"X" |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | | | + | |
− | + | ||
|Заменить содержимое тега на новое значение, если содержимое тега соответствует выбранному цифровому диапазону. Подходит только для тегов, содержащих цифровое значение. Обратите внимание: вы можете в качестве условия задать несколько цифровых диапазонов. | |Заменить содержимое тега на новое значение, если содержимое тега соответствует выбранному цифровому диапазону. Подходит только для тегов, содержащих цифровое значение. Обратите внимание: вы можете в качестве условия задать несколько цифровых диапазонов. | ||
|'''Пример 1.''' Задача: Если значение тега <delivery> меньше "100", то вместо тега <delivery> ставить "Дешевая доставка". Если значение тега <delivery> больше или равно "100", то вместо тега <delivery> ставить "Дорогая доставка". | |'''Пример 1.''' Задача: Если значение тега <delivery> меньше "100", то вместо тега <delivery> ставить "Дешевая доставка". Если значение тега <delivery> больше или равно "100", то вместо тега <delivery> ставить "Дорогая доставка". | ||
Строка 231: | Строка 255: | ||
<br>выведет: Средняя доставка | <br>выведет: Средняя доставка | ||
|- | |- | ||
− | + | !style="background:#FCE5CD"|replace_map:"X" | |
− | + | |Заменить содержимое тега на новое значение, если содержимое тега соответствует заданному условию. Обратите внимание: вы можете задать несколько условий подряд. <nowiki>Например: "условие1||значение1||условие2||значение2||условие3||значение3".</nowiki> <br>Обратите внимание: фильтр учитывает регистры, "условие1" и "УСЛОВИЕ1" считаются разными. | |
− | | | + | |'''Пример 1.''' Задача: Если значение тега <delivery> равно "Доставка 350р", то вместо тега <delivery> ставить "Платная доставка". |
− | |< | + | <nowiki><delivery> содержит: Доставка 350р <delivery|replace_map:"Доставка 350р||Платная доставка"></nowiki> |
− | < | + | <br>выведет: Платная доставка |
− | + | <br><nowiki><delivery> содержит: Нет доставки <delivery|replace_map:"350||Платная доставка"></nowiki> | |
− | + | <br>выведет: Нет доставки | |
− | + | ||
− | + | '''Пример 2.''' Задача: Если значение тега <delivery> равно "Доставка 0р", то вместо тега <delivery> ставить "Бесплатная доставка". Если значение тега <delivery> равно "Доставка 350р", то вместо тега <delivery> ставить "Платная доставка". Если значение тега <delivery> равно "Нет доставки", то вместо тега <delivery> ставить "Самовывоз". | |
− | < | + | <delivery> содержит: Нет доставки |
+ | <br><nowiki><delivery|replace_map:"Доставка 350р||Платная доставка||Доставка 0р||Бесплатная доставка||Нет доставки||Самовывоз"> </nowiki> | ||
+ | <br>выведет: Самовывоз | ||
|- | |- | ||
− | + | !style="background:#FCE5CD"|default:"X" | |
− | + | ||
|Установить значение по умолчанию. Если значение тега пустое или тег не задан, будет использовано значение по умолчанию | |Установить значение по умолчанию. Если значение тега пустое или тег не задан, будет использовано значение по умолчанию | ||
− | |Тег <name> пустой | + | |'''Пример 1.''' Тег <name> пустой |
<name|default:"Мобильный телефон"> выведет: Мобильный телефон | <name|default:"Мобильный телефон"> выведет: Мобильный телефон | ||
+ | |||
+ | '''Пример 2.''' Задача: если тег <name> пустой, то вместо него выводить значение тега <model> | ||
+ | <br><name|default:model> | ||
+ | |-style="background:#B4A7D6" | ||
+ | |colspan="3" style="text-align:center" | | ||
+ | |||
+ | === Добавить синонимы, транслит, пробел, символ или группу символов === | ||
+ | |- | ||
+ | !style="background:#B4A7D6"|Фильтр | ||
+ | !style="background:#B4A7D6" width="40%"| Описание | ||
+ | !style="background:#B4A7D6"|Пример | ||
+ | |- | ||
+ | !style="background:#D9D2E9"|split_alpha_numeric | ||
+ | |Вставить пробел между буквами и цифрами | ||
+ | |<name> содержит: FV9915E12 | ||
+ | <name|split_alpha_numeric> выведет: FV 9915 E 12 | ||
|- | |- | ||
− | !translit | + | !style="background:#D9D2E9"|translit |
|Перевести все русские слова транслитом на английский | |Перевести все русские слова транслитом на английский | ||
|<name> содержит: Для транслитерации Text | |<name> содержит: Для транслитерации Text | ||
<name|translit> напишет русские слова английскими символами и выведет: Dlya transliteratsii Text | <name|translit> напишет русские слова английскими символами и выведет: Dlya transliteratsii Text | ||
|- | |- | ||
− | !untranslit | + | !style="background:#D9D2E9"|untranslit |
|Перевести все английские слова транслитом на русский | |Перевести все английские слова транслитом на русский | ||
|<name> содержит: Dlya transliteratsii Текст | |<name> содержит: Dlya transliteratsii Текст | ||
<name|untranslit> напишет английские слова русскими символами и выведет: Для транслитерации Текст | <name|untranslit> напишет английские слова русскими символами и выведет: Для транслитерации Текст | ||
|- | |- | ||
− | ! | + | !style="background:#D9D2E9"|synonyms |
− | | | + | |Добавлять синонимичные ключевые фразы, если в теге встречаются слова из списков синонимов. Обратите внимание: данный фильтр может быть применен только на индивидуальном уровне ключевых фраз. |
− | |<name> содержит: | + | |<name> содержит: Apple iphone 6 В списках синонимов указаны синонимы: Apple - Эппл, Аппл |
− | + | <nowiki><name|synonyms></nowiki> выведет три ключевые фразы: Apple iphone 6, Эппл iphone 6, Аппл iphone 6 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | <name| | + | |
|} | |} | ||
− | |||
== Оператор if в генерации шаблонов == | == Оператор if в генерации шаблонов == | ||
Строка 276: | Строка 311: | ||
=== 1. Точное соответствие тега значению параметра === | === 1. Точное соответствие тега значению параметра === | ||
− | + | <%if <font color=maroon>тег (без угловых скобок)</font> == <font color=maroon>значение (в кавычках)</font> %> | |
* Если значение тега соответствует условиям, то будет выводиться Строка 1. Задаётся сразу между угловыми скобками '''<%if%>''' и '''<%else%>'''. | * Если значение тега соответствует условиям, то будет выводиться Строка 1. Задаётся сразу между угловыми скобками '''<%if%>''' и '''<%else%>'''. | ||
* Если значение тега не соответствует условиям, то будет выводиться Строка 2. Задаётся сразу после '''<%else%>'''. | * Если значение тега не соответствует условиям, то будет выводиться Строка 2. Задаётся сразу после '''<%else%>'''. | ||
Строка 283: | Строка 318: | ||
'''Пример''' | '''Пример''' | ||
+ | |||
+ | Вы хотите указать в своих объявлениях скидку только на товары со строго определённой ценой. | ||
+ | |||
+ | Для этого при помощи оператора if указываем следующие условия: | ||
''<%if price == "990" %> Скидка <sales_notes>% на <name>!<%else%>Более 20000 для детей и взрослых<%endif%>'' | ''<%if price == "990" %> Скидка <sales_notes>% на <name>!<%else%>Более 20000 для детей и взрослых<%endif%>'' | ||
[[Файл:Оператор if - равно.png]] | [[Файл:Оператор if - равно.png]] | ||
+ | |||
+ | '''Примечание''' | ||
+ | |||
+ | Если не указывать параметр <%else>, то при несоответствии условию <%if> выведется пустота. | ||
+ | |||
+ | 1-й случай: | ||
+ | |||
+ | <name>=<font color=maroon>телефон</font> | ||
+ | |||
+ | <%if <font color=maroon>name</font> == "<font color=maroon>телефон</font>" %> <%endif%> | ||
+ | |||
+ | Выведется: '''телефон''' | ||
+ | |||
+ | |||
+ | 2-й случай: | ||
+ | |||
+ | <name>=<font color=maroon>айфон</font> | ||
+ | |||
+ | <%if <font color=maroon>name</font> == "<font color=maroon>телефон</font>" %> <%endif%> | ||
+ | |||
+ | Выведется: (пустота) | ||
=== 2. Сравнение значения тега с условиями параметра === | === 2. Сравнение значения тега с условиями параметра === | ||
− | + | <%if <font color=maroon>тег (без угловых скобок)</font>|to_int знак сравнения <font color=maroon>значение</font> %> | |
− | * Если значение тега входит в область условия оператора, то будет выводиться Строка 1. Задаётся сразу между | + | * Если значение тега входит в область условия оператора, то будет выводиться Строка 1. Задаётся сразу между угловыми скобками '''<%if%>''' и '''<%else%>'''. |
* Если значение тега не входит в область условия оператора, то будет выводиться Строка 2. Задаётся сразу после '''<%else%>'''. | * Если значение тега не входит в область условия оператора, то будет выводиться Строка 2. Задаётся сразу после '''<%else%>'''. | ||
Строка 299: | Строка 359: | ||
Вы хотите указать в своих объявлениях скидку на товары, но только на те, у которых стоимость дороже порогового значения. | Вы хотите указать в своих объявлениях скидку на товары, но только на те, у которых стоимость дороже порогового значения. | ||
− | Для этого | + | Для этого при помощи оператора if указываем следующие условия: |
''<%if price|to_int <= 990 %>Более 20000 для детей и взрослых<%else%>Скидка <sales_notes>% на <name>!<%endif%>'' | ''<%if price|to_int <= 990 %>Более 20000 для детей и взрослых<%else%>Скидка <sales_notes>% на <name>!<%endif%>'' | ||
Для всех товаров со стоимостью дороже 990 рублей будет выводиться информация о скидке товара. | Для всех товаров со стоимостью дороже 990 рублей будет выводиться информация о скидке товара. | ||
− | |||
[[Файл:Оператор if - сравнение.png]] | [[Файл:Оператор if - сравнение.png]] | ||
+ | |||
+ | == Использование нескольких фильтров == | ||
+ | |||
+ | Вы можете одновременно использовать в теге несколько фильтров. | ||
+ | |||
+ | Например, в теге <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>'' | ||
+ | |||
+ | |||
+ | [[Файл:Фильтры тегов 5.png]] | ||
+ | |||
+ | |||
+ | В результате обработки мы получим следующие заголовки объявлений: | ||
+ | |||
+ | ''Lg 1281'' | ||
+ | |||
+ | ''Samsung H-18'' | ||
+ | |||
+ | ''Indesit KLD'' | ||
+ | |||
+ | |||
+ | [[Файл:Фильтры тегов 6.png]] | ||
== Примеры применения фильтров == | == Примеры применения фильтров == | ||
Строка 358: | Строка 457: | ||
Можете! Рассмотрим на нашем "примере с Артикулами" | Можете! Рассмотрим на нашем "примере с Артикулами" | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Текущая версия на 12:15, 28 марта 2017
Фильтры обработки тегов помогут вам улучшить качество сгенерированных объявлений. Фильтры позволяют массово вносить изменения в содержимое тегов xml-файла и минимизировать ручные корректировки:
- менять регистр слов и отдельных букв,
- добавлять слова или символы,
- вырезать символы, слова, группы слов,
- задавать условия на содержимое тегов,
- заменять содержимое тегов,
- переводить содержимое тегов на русском в транслитерацию и наоборот,
- добавлять синонимы.
Чтобы применить фильтр к тегу, просто добавьте его через разделитель внутри тега, вот так: <name|capfirst>
Обратите внимание, что для использования символов < и > в параметрах фильтров или в тексте вне тега их обязательно нужно экранировать обратным слешем. Также, при использовании обратных слешей в параметрах фильтров, их тоже нужно экранировать обратным слешем. Например: <name|cut:"\<"> или <name|cut:"\\">. Если вы хотите удалить кавычки с помощью фильтра cut, то их нужно экранировать апострофом. Например: <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 |
words_case_capfirst_with:"X" | Сделать первую букву заглавной в словах, которые содержат заданные символы. Обратите внимание: регистр символов имеет значение. | <name> содержит: super sony1 vaio без порта909 доставка
<name|words_case_capfirst_with:"т"> сделает с заглавной буквы только слова содержащие т: super sony1 vaio без Порта909 Доставка <name|words_case_capfirst_with:"ony"> сделает с заглавной буквы только слова содержащие ony: super Sony1 vaio без порта909 доставка |
words_case_capfirst:"X" | Позволяет автоматически выбрать слова, которые необходимо написать с заглавной буквы. Можно выбрать либо только слова на русском("R"), либо только слова на английском("E"), либо слово с заданным порядковым номером ("5") Если слово содержит смесь английских и русских букв или смесь букв и цифр, то у него не будет изменен регистр, если в качестве критерия выбран язык | words_case_capfirst:"3"> сделает заглавной букву только у третьего слова по порядку: super sony1 Vaio без порта909 доставка
<name|words_case_capfirst:"E"> сделает заглавными буквы только у английских слов: Super sony1 Vaio без порта909 доставка <name|words_case_capfirst:"R"> сделает заглавными буквы только у русских слов: super sony1 vaio Без порта909 Доставка <name|words_case_capfirst:"1E"> сделает заглавной букву только у первого английского слова: Super sony1 vaio без порта909 доставка <name|words_case_capfirst:"2R"> сделает заглавной букву только у второго русского слова: super sony1 vaio без порта909 Доставка Если вам необходимо сделать заглавную букву сразу у двух слов с учетом их порядка, то указывайте два фильтра подряд: <name|words_case_capfirst:"2"|words_case_capfirst:"3"> |
words_case_upper:"X" | Позволяет автоматически выбрать слова, которые необходимо перевести в верхний регистр. Можно выбрать либо только слова на русском("R"), либо только слова на английском("E"), либо слово с заданным порядковым номером("5") Если слово содержит смесь английских и русских букв или смесь букв и цифр, то у него не будет изменен регистр, если в качестве критерия выбран язык | <name> содержит: super sony1 vaio без порта909 доставка
<name|words_case_upper:"3"> сделает верхним регистром только третье слово по порядку: super sony1 VAIO без порта909 доставка <name|words_case_upper:"E"> сделает верхним регистром только английские слова: SUPER sony1 VAIO без порта909 доставка <name|words_case_upper:"R"> сделает верхним регистром только русские слова: super sony1 vaio БЕЗ порта909 ДОСТАВКА <name|words_case_upper:"1E"> сделает верхним регистром только первое английское слово: SUPER sony1 vaio без порта909 доставка <name|words_case_upper:"2R"> сделает верхним регистром только второе русское слово: super sony1 vaio без порта909 ДОСТАВКА Если вам необходимо изменить регистр сразу у двух слов с учетом их порядка, то указывайте два фильтра подряд: <name|words_case_upper:"2"|words_case_upper:"3"> |
words_case_lower:"X" | Позволяет автоматически выбрать слова, которые необходимо перевести в нижний регистр. Можно выбрать либо только слова на русском("R"), либо только слова на английском("E"), либо слово с заданным порядковым номером("5") Если слово содержит смесь английских и русских букв или смесь букв и цифр, то у него не будет изменен регистр, если в качестве критерия выбран язык | <name> содержит: SUPER SONY1 VAIO БЕЗ ПОРТА909 ДОСТАВКА
<name|words_case_lower:"3"> сделает нижним регистром только третье слово по порядку: SUPER SONY1 vaio БЕЗ ПОРТА909 ДОСТАВКА <name|words_case_lower:"E"> сделает нижним регистром только английские слова: super SONY1 vaio БЕЗ ПОРТА909 ДОСТАВКА <name|words_case_lower:"R"> сделает нижним регистром только русские слова: SUPER SONY1 VAIO без ПОРТА909 доставка <name|words_case_lower:"1E"> сделает нижним регистром только первое английское слово: super SONY1 VAIO БЕЗ ПОРТА909 ДОСТАВКА <name|words_case_lower:"2R"> сделает нижним регистром только второе русское слово: SUPER SONY1 VAIO БЕЗ ПОРТА909 доставка Если вам необходимо изменить регистр сразу у двух слов с учетом их порядка, то указывайте два фильтра подряд: <name|words_case_lower:"2"|words_case_lower:"3"> |
words_case_swap:"X" | Позволяет автоматически выбрать слова, регистр которых необходимо инвертировать. Можно выбрать либо только слова на русском("R"), либо только слова на английском("E"), либо слово с заданным порядковым номером("5") Если слово содержит смесь английских и русских букв или смесь букв и цифр, то у него не будет изменен регистр, если в качестве критерия выбран язык | <name> содержит: Super Sony1 Vaio Без Порта909 Доставка
<name|words_case_swap:"3"> инвертирует регистр только у третьего слова по порядку: Super Sony1 vAIO Без Порта909 Доставка <name|words_case_swap:"E"> инвертирует регистр только у английских слов: sUPER Sony1 vAIO Без Порта909 Доставка <name|words_case_swap:"R"> инвертирует регистр только у русских слов: Super Sony1 Vaio бЕЗ Порта909 дОСТАВКА <name|words_case_swap:"1E"> инвертирует регистр только у первого английского слова: sUPER Sony1 Vaio Без Порта909 Доставка <name|words_case_swap:"2R"> инвертирует регистр только у второго русского слова: Super Sony1 Vaio Без Порта909 дОСТАВКА Если вам необходимо инвертировать регистр сразу у двух слов с учетом их порядка, то указывайте два фильтра подряд: <name|words_case_swap:"2"|words_case_swap:"3"> |
words_case_upper_with:"X" | Привести слова к верхнему регистру, если они содержат заданные символы. Обратите внимание: регистр символов имеет значение | <name> содержит: super sony1 vaio без порта909 доставка
<name|words_case_upper_with:"s"> сделает верхний регистр только у слов содержащих s: SUPER SONY1 vaio без порта909 доставка <name|words_case_upper_with:"дос"> сделает верхний регистр только у слов содержащих дос: super sony1 vaio без порта909 ДОСТАВКА |
words_case_lower_with:"X" | Привести слова к нижнему регистру, если они содержат заданные символы. Обратите внимание: регистр символов имеет значение. | <name> содержит: SUPER SONY1 VAIO БЕЗ ПОРТА909 ДОСТАВКА
<name|words_case_lower_with:"S"> сделает нижний регистр только у слов содержащих S: super sony1 VAIO БЕЗ ПОРТА909 ДОСТАВКА <name|words_case_lower_with:"ДОС"> сделает нижний регистр только у слов содержащих ДОС: SUPER SONY1 VAIO БЕЗ ПОРТА909 доставка |
words_case_swap_with:"X" | Инвертировать регистр слов, если они содержат заданные символы. Обратите внимание: регистр символов имеет значение. | <name> содержит: super Sony1 Vaio Без Порта909 Доставка
<name|words_case_swap_with:"S"> инвертирует регистр только у слов содержащих большую S: super sONY1 Vaio Без Порта909 Доставка <name|words_case_swap_with:"Дос"> инвертирует регистр только у слов содержащих Дос: super Sony1 Vaio Без Порта909 дОСТАВКА |
Вырезать пробел, символ или группу символов | ||
Фильтр | Описание | Пример |
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_letters | Вырезать все буквы (останутся только цифры, пробелы и спецсимволы) | <name> содержит: Samsung HD32GB 1301 RUS $130
<name|cut_letters> выведет: 32 1301 $130 |
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_word:"X" | Вырезать указанное слово или словосочетание. Если вы хотите вырезать более чем одно слово/словосочетание, то указывайте фильтр cut_word столько раз, сколько слов/словосочетаний хотите вырезать. Обратите внимание: фильтр не учитывает регистры, "условие1" и "УСЛОВИЕ1" считаются одинаковыми. | <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 |
cut_word_number:"X" | Вырезать слова выбранного порядкового номера (с начала или с конца фразы) | <name> содержит: телефон samsung 32gb wifi
<name|cut_word_number:"2"> вырежет второе слово с начала и выведет: телефон 32gb wifi <name|cut_word_number:"-2"> вырежет второе слово с конца и выведет: телефон samsung wifi |
cut_words_length:"X" | Вырезать все слова, длина которых или больше, или меньше, или равна заданному значению | <name> содержит: 123 1234 12345 123456 1234567
<name|cut_words_length:"5"> вырежет слова, длина которых равна 5, и выведет: 123 1234 123456 1234567 <name|cut_words_length:"le5"> вырежет слова, длина которых меньше или равна 5, и выведет: 123456 1234567 <name|cut_words_length:"lt5"> вырежет слова, длина которых меньше 5, и выведет: 12345 123456 1234567 <name|cut_words_length:"ge5"> вырежет слова, длина которых больше или равна 5, и выведет: 123 1234 <name|cut_words_length:"gt5"> вырежет слова, длина которых больше 5, и выведет: 123 1234 12345 |
unsplit_alpha_numeric | Вырезать пробелы между буквами и цифрами | <name> содержит: FV 9915 EL MK 12
<name|unsplit_alpha_numeric> выведет: FV9915EL MK12 |
cut:"X" | Вырезать указанный символ или группу символов. Если вы хотите вырезать более чем один символ/группу символов, то указывайте фильтр cut столько раз, сколько символов/групп символов хотите вырезать. Обратите внимание: фильтр учитывает регистры, "условие1" и "УСЛОВИЕ1" считаются не равнозначными условиями. | <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:"b"> выведет: samsung hd 32gb |
Фильтры замены и условий | ||
Фильтр | Описание | Пример |
replace:"X" | Заменить в содержимом тега все вхождения символа или группы символов. Обратите внимание: фильтр не учитывает регистры, "условие1" и "УСЛОВИЕ1" считаются одинаковыми. | <name> содержит: Samsung 32gb
<name|replace:"samsung||Apple"> выведет: Apple 32gb |
inner_replace:"X" | Заменить текст между двумя наборами символов | <name> содержит: sony vaio 32gb wifi
<name|inner_replace:"sony||32gb|| ваио "> выведет: sony ваио 32gb wifi |
inner:"X" | Оставить только текст между двумя наборами символов | <name> содержит: sony vaio 32gb wifi
<name|inner:"sony||32"> выведет: vaio <name|inner:"vaio||"> оставить все от vaio до конца: 32gb wifi <name> содержит: AA, text, BB other <name|inner:",||,"> выведет: text |
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
|
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> содержит: Нет доставки
|
default:"X" | Установить значение по умолчанию. Если значение тега пустое или тег не задан, будет использовано значение по умолчанию | Пример 1. Тег <name> пустой
<name|default:"Мобильный телефон"> выведет: Мобильный телефон Пример 2. Задача: если тег <name> пустой, то вместо него выводить значение тега <model>
|
Добавить синонимы, транслит, пробел, символ или группу символов | ||
Фильтр | Описание | Пример |
split_alpha_numeric | Вставить пробел между буквами и цифрами | <name> содержит: FV9915E12
<name|split_alpha_numeric> выведет: FV 9915 E 12 |
translit | Перевести все русские слова транслитом на английский | <name> содержит: Для транслитерации Text
<name|translit> напишет русские слова английскими символами и выведет: Dlya transliteratsii Text |
untranslit | Перевести все английские слова транслитом на русский | <name> содержит: Dlya transliteratsii Текст
<name|untranslit> напишет английские слова русскими символами и выведет: Для транслитерации Текст |
synonyms | Добавлять синонимичные ключевые фразы, если в теге встречаются слова из списков синонимов. Обратите внимание: данный фильтр может быть применен только на индивидуальном уровне ключевых фраз. | <name> содержит: Apple iphone 6 В списках синонимов указаны синонимы: Apple - Эппл, Аппл
<name|synonyms> выведет три ключевые фразы: Apple iphone 6, Эппл iphone 6, Аппл iphone 6 |
Оператор if в генерации шаблонов
С помощью фильтров обработки тегов система может создавать текст объявления и ключевой фразы либо по одному шаблону, либо по другому, в зависимости от заданных условий для тега.
Для настройки оператора if в тегах можно использовать следующие условия:
1. Точное соответствие тега значению параметра
<%if тег (без угловых скобок) == значение (в кавычках) %>
- Если значение тега соответствует условиям, то будет выводиться Строка 1. Задаётся сразу между угловыми скобками <%if%> и <%else%>.
- Если значение тега не соответствует условиям, то будет выводиться Строка 2. Задаётся сразу после <%else%>.
Не забудьте закрыть оператор с помощью <%endif%>.
Пример
Вы хотите указать в своих объявлениях скидку только на товары со строго определённой ценой.
Для этого при помощи оператора if указываем следующие условия:
<%if price == "990" %> Скидка <sales_notes>% на <name>!<%else%>Более 20000 для детей и взрослых<%endif%>
Примечание
Если не указывать параметр <%else>, то при несоответствии условию <%if> выведется пустота.
1-й случай:
<name>=телефон
<%if name == "телефон" %> <%endif%>
Выведется: телефон
2-й случай:
<name>=айфон
<%if name == "телефон" %> <%endif%>
Выведется: (пустота)
2. Сравнение значения тега с условиями параметра
<%if тег (без угловых скобок)|to_int знак сравнения значение %>
- Если значение тега входит в область условия оператора, то будет выводиться Строка 1. Задаётся сразу между угловыми скобками <%if%> и <%else%>.
- Если значение тега не входит в область условия оператора, то будет выводиться Строка 2. Задаётся сразу после <%else%>.
Не забудьте закрыть оператор с помощью <%endif%>.
Пример
Вы хотите указать в своих объявлениях скидку на товары, но только на те, у которых стоимость дороже порогового значения.
Для этого при помощи оператора if указываем следующие условия:
<%if price|to_int <= 990 %>Более 20000 для детей и взрослых<%else%>Скидка <sales_notes>% на <name>!<%endif%>
Для всех товаров со стоимостью дороже 990 рублей будет выводиться информация о скидке товара.
Использование нескольких фильтров
Вы можете одновременно использовать в теге несколько фильтров.
Например, в теге <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
Примеры применения фильтров
Пример 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
Могу ли я применить сразу несколько фильтров?
Можете! Рассмотрим на нашем "примере с Артикулами"