Фильтры обработки тегов — различия между версиями

Материал из Alytics Wiki
Перейти к: навигация, поиск
(Оператор if в генерации шаблонов)
(Возможные фильтры)
 
(не показано 47 промежуточных версий 3 участников)
Строка 1: Строка 1:
Фильтры обработки тегов помогут вам улучшить качество сгенерированных объявлений. С помощью них вы сможете вырезать из тегов лишние символы или слова, удалить содержимое, находящееся в скобках, изменить регистр слов и многое другое.  Чтобы применить фильтр к тегу, просто добавьте его через разделитель внутри тега, вот так: <name|capfirst>
+
Фильтры обработки тегов помогут вам улучшить качество сгенерированных объявлений. Фильтры позволяют массово вносить изменения в содержимое тегов xml-файла и минимизировать ручные корректировки:
 +
*менять регистр слов и отдельных букв,
 +
*добавлять слова или символы,
 +
*вырезать символы, слова, группы слов,
 +
*задавать условия на содержимое тегов,
 +
*заменять содержимое тегов,
 +
*переводить содержимое тегов на русском в транслитерацию и наоборот,
 +
*добавлять синонимы.
  
Обратите внимание, что для использования символов < и > в параметрах фильтров или в тексте вне тега их обязательно нужно экранировать слэшем.  
+
Чтобы применить фильтр к тегу, просто добавьте его через разделитель внутри тега, вот так: <name|capfirst>
Например: <name|cut:"\<">
+
 
 +
Обратите внимание, что для использования символов < и > в параметрах фильтров или в тексте вне тега их обязательно нужно экранировать обратным слешем. Также, при использовании обратных слешей в параметрах фильтров, их тоже нужно экранировать обратным слешем.  
 +
Например: <name|cut:"\<"> или <name|cut:"\\">.
 +
Если вы хотите удалить кавычки с помощью фильтра cut, то их нужно экранировать апострофом. Например: <cut:'"'>
  
 
== Возможные фильтры ==
 
== Возможные фильтры ==
  
 
{| class="wikitable" width="80%"
 
{| class="wikitable" width="80%"
  !width="10%" |  
+
  |-style="background:#B6D7A8"
  !Фильтр
+
|colspan="3" style="text-align:center" |
  !width="40%"| Описание
+
=== Изменение регистра символа, слова, группы слов ===
  !Пример
+
|-
 +
  !style="background:#B6D7A8"| Фильтр
 +
  !style="background:#B6D7A8" width="40%"| Описание
 +
  !style="background:#B6D7A8"|Пример
 
  |-
 
  |-
  |rowspan="12" | Регистр
+
  !style="background:#D9EAD3"|capfirst
!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 ДОСТАВКА
 
  |-
 
  |-
  !words_case_upper_with:"X"
+
  !style="background:#D9EAD3"|words_case_lower_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> содержит: 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"|Пример
 
  |-
 
  |-
  |rowspan="5" |  
+
  !style="background:#CFE2F3"|cut_rus_words
!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
 
  |-
 
  |-
  |rowspan="4"|  
+
  !style="background:#CFE2F3"|cut_word:"X"
!cut_word:"X"
+
  |Вырезать указанное слово или словосочетание. Если вы хотите вырезать более чем одно слово/словосочетание, то указывайте фильтр cut_word столько раз, сколько слов/словосочетаний хотите вырезать. Обратите внимание: фильтр не учитывает регистры, "условие1" и "УСЛОВИЕ1" считаются одинаковыми.
  |Вырезать указанное слово или словосочетание. Если вы хотите вырезать более чем одно слово/словосочетание, то указаывайте фильтр cut_word столько раз, сколько слов/словосочетаний хотите вырезать
+
 
  |<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
  |-
+
  |-  
  |rowspan="8"|  
+
  !style="background:#CFE2F3"|trunc_first_words:"X"
!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
 
  |-
 
  |-
|rowspan="5"|  
+
!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
  |-
+
  |-  
  !replace_map:"X"
+
  !style="background:#FCE5CD"|condition_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>выведет: Самовывоз
+
|-
+
!condition_map:"X"
+
 
  |Заменить содержимое тега на новое значение, если содержимое тега соответствует выбранному цифровому диапазону. Подходит только для тегов, содержащих цифровое значение. Обратите внимание: вы можете в качестве условия задать несколько цифровых диапазонов.  
 
  |Заменить содержимое тега на новое значение, если содержимое тега соответствует выбранному цифровому диапазону. Подходит только для тегов, содержащих цифровое значение. Обратите внимание: вы можете в качестве условия задать несколько цифровых диапазонов.  
 
  |'''Пример 1.''' Задача: Если значение тега <delivery> меньше "100", то вместо тега <delivery> ставить "Дешевая доставка". Если значение тега <delivery> больше или равно "100", то вместо тега <delivery> ставить "Дорогая доставка".
 
  |'''Пример 1.''' Задача: Если значение тега <delivery> меньше "100", то вместо тега <delivery> ставить "Дешевая доставка". Если значение тега <delivery> больше или равно "100", то вместо тега <delivery> ставить "Дорогая доставка".
Строка 231: Строка 255:
 
<br>выведет: Средняя доставка
 
<br>выведет: Средняя доставка
 
  |-
 
  |-
  |rowspan="2"|  
+
  !style="background:#FCE5CD"|replace_map:"X"
!split_alpha_numeric
+
  |Заменить содержимое тега на новое значение, если содержимое тега соответствует заданному условию. Обратите внимание: вы можете задать несколько условий подряд. <nowiki>Например: "условие1||значение1||условие2||значение2||условие3||значение3".</nowiki> <br>Обратите внимание: фильтр учитывает регистры, "условие1" и "УСЛОВИЕ1" считаются разными.
  |Вставить пробел между буквами и цифрами
+
  |'''Пример 1.''' Задача: Если значение тега <delivery> равно "Доставка 350р", то вместо тега <delivery> ставить "Платная доставка".
  |<name> содержит: FV9915E12
+
<nowiki><delivery> содержит: Доставка 350р <delivery|replace_map:"Доставка 350р||Платная доставка"></nowiki>
<name|split_alpha_numeric> выведет: FV 9915 E 12
+
<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>выведет: Самовывоз
 
  |-
 
  |-
  !unsplit_alpha_numeric
+
  !style="background:#FCE5CD"|default:"X"
|Вырезать пробелы между буквами и цифрами
+
|<name> содержит: FV 9915 EL MK 12
+
<name|unsplit_alpha_numeric> выведет: FV9915EL MK12
+
|-
+
|rowspan="5"|  
+
!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> напишет английские слова русскими символами и выведет: Для транслитерации Текст
 
  |-
 
  |-
  !cut:"X"
+
  !style="background:#D9D2E9"|synonyms
  |Вырезать указанный символ или группу символов. Если вы хотите вырезать более чем один символ/группу символов, то указывайте фильтр cut столько раз, сколько символов/групп символов хотите вырезать
+
  |Добавлять синонимичные ключевые фразы, если в теге встречаются слова из списков синонимов. Обратите внимание: данный фильтр может быть применен только на индивидуальном уровне ключевых фраз.
  |<name> содержит: samsung 32gb темно черный арт-1821
+
  |<name> содержит: Apple iphone 6 В списках синонимов указаны синонимы: Apple - Эппл, Аппл
<name|cut:"-"|cut:"gb"> выведет: samsung 32 темно черный арт1821
+
<nowiki><name|synonyms></nowiki> выведет три ключевые фразы: Apple iphone 6, Эппл iphone 6, Аппл iphone 6
|-
+
!cut_behind_sign:"X"
+
|Вырезать все после указанного символа/группы символов
+
|<name> содержит: samsung hd 32gb-18 white
+
<name|cut_behind_sign:"-18"> выведет: samsung hd 32gb
+
 
  |}
 
  |}
 
  
 
== Оператор if в генерации шаблонов ==
 
== Оператор if в генерации шаблонов ==
Строка 286: Строка 321:
 
Вы хотите указать в своих объявлениях скидку только на товары со строго определённой ценой.
 
Вы хотите указать в своих объявлениях скидку только на товары со строго определённой ценой.
  
Для этого, при помощи оператора if указываем следующие условия:
+
Для этого при помощи оператора if указываем следующие условия:
  
 
''<%if price == "990" %> Скидка <sales_notes>% на  <name>!<%else%>Более 20000 для детей и взрослых<%endif%>''
 
''<%if price == "990" %> Скидка <sales_notes>% на  <name>!<%else%>Более 20000 для детей и взрослых<%endif%>''
Строка 292: Строка 327:
 
[[Файл:Оператор 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> %>
 
  <%if <font color=maroon>тег (без угловых скобок)</font>|to_int знак сравнения <font color=maroon>значение</font> %>
* Если значение тега входит в область условия  оператора, то будет выводиться Строка 1. Задаётся сразу между угловых скобок '''<%if%>''' и '''<%else%>'''.
+
* Если значение тега входит в область условия  оператора, то будет выводиться Строка 1. Задаётся сразу между угловыми скобками '''<%if%>''' и '''<%else%>'''.
 
* Если значение тега не входит в область условия оператора, то будет выводиться Строка 2. Задаётся сразу после '''<%else%>'''.
 
* Если значение тега не входит в область условия оператора, то будет выводиться Строка 2. Задаётся сразу после '''<%else%>'''.
  
Строка 304: Строка 359:
 
Вы хотите указать в своих объявлениях скидку на товары, но только на те, у которых стоимость дороже порогового значения.  
 
Вы хотите указать в своих объявлениях скидку на товары, но только на те, у которых стоимость дороже порогового значения.  
  
Для этого, при помощи оператора if указываем следующие условия:  
+
Для этого при помощи оператора if указываем следующие условия:  
  
 
''<%if price|to_int <= 990 %>Более 20000 для детей и взрослых<%else%>Скидка <sales_notes>% на <name>!<%endif%>''
 
''<%if price|to_int <= 990 %>Более 20000 для детей и взрослых<%else%>Скидка <sales_notes>% на <name>!<%endif%>''
Строка 311: Строка 366:
  
 
[[Файл:Оператор 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]]
  
 
== Примеры применения фильтров ==
 
== Примеры применения фильтров ==
Строка 362: Строка 457:
  
 
Можете! Рассмотрим на нашем "примере с Артикулами"
 
Можете! Рассмотрим на нашем "примере с Артикулами"
 
=== Пример 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>''
 
 
 
[[Файл:Фильтры тегов 5.png]]
 
 
 
В результате обработки мы получим следующие заголовки объявлений:
 
 
''Lg 1281''
 
 
''Samsung H-18''
 
 
''Indesit KLD''
 
 
 
[[Файл:Фильтры тегов 6.png]]
 

Текущая версия на 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 черный
Чтобы удалить словосочеатние "темно черный", укажите конструкцию <name|cut_word:"темно черный">, результат: Телефон samsung 32gb
Чтобы удалить слово "Телефон" и "темно", укажите конструкцию <name|cut_word:"темно"|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
<delivery|condition_map:"Дешевая доставка||100||Дорогая доставка">
выведет: Дешевая доставка
<delivery> содержит: 150
<delivery|condition_map:"Дешевая доставка||100||Дорогая доставка">
выведет: Дорогая доставка

Пример 2. Задача: Если значение тега <delivery> меньше "100", то вместо тега <delivery> ставить "Дешевая доставка". Если значение тега <delivery> больше или равно "100" и меньше "300", то вместо тега <delivery> ставить "Средняя доставка". Если значение тега <delivery> больше или равно "300", то вместо тега <delivery> ставить "Дорогая доставка". <delivery> содержит: 200
<delivery|condition_map:"Дешевая доставка||100||Средняя доставка||300||Дорогая доставка">
выведет: Средняя доставка

replace_map:"X" Заменить содержимое тега на новое значение, если содержимое тега соответствует заданному условию. Обратите внимание: вы можете задать несколько условий подряд. Например: "условие1||значение1||условие2||значение2||условие3||значение3".
Обратите внимание: фильтр учитывает регистры, "условие1" и "УСЛОВИЕ1" считаются разными.
Пример 1. Задача: Если значение тега <delivery> равно "Доставка 350р", то вместо тега <delivery> ставить "Платная доставка".

<delivery> содержит: Доставка 350р <delivery|replace_map:"Доставка 350р||Платная доставка">
выведет: Платная доставка
<delivery> содержит: Нет доставки <delivery|replace_map:"350||Платная доставка">
выведет: Нет доставки

Пример 2. Задача: Если значение тега <delivery> равно "Доставка 0р", то вместо тега <delivery> ставить "Бесплатная доставка". Если значение тега <delivery> равно "Доставка 350р", то вместо тега <delivery> ставить "Платная доставка". Если значение тега <delivery> равно "Нет доставки", то вместо тега <delivery> ставить "Самовывоз". <delivery> содержит: Нет доставки
<delivery|replace_map:"Доставка 350р||Платная доставка||Доставка 0р||Бесплатная доставка||Нет доставки||Самовывоз">
выведет: Самовывоз

default:"X" Установить значение по умолчанию. Если значение тега пустое или тег не задан, будет использовано значение по умолчанию Пример 1. Тег <name> пустой

<name|default:"Мобильный телефон"> выведет: Мобильный телефон

Пример 2. Задача: если тег <name> пустой, то вместо него выводить значение тега <model>
<name|default: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%>

Оператор if - равно.png

Примечание

Если не указывать параметр <%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 рублей будет выводиться информация о скидке товара.

Оператор 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

Примеры применения фильтров

Пример 1

Вы хотите использовать название товара в заголовке объявления. Название передается в теге <name>, но с маленькой буквы: samsung 32

Применим конструкцию <name|capfirst>


Фильтры тегов 1.png


В заголовке объявления будет первое слово с большой буквы: Samsung 32gb


Фильтры тегов 2.png


Пример 2

Вы хотите в качестве ключевых слов использовать названия моделей. У вас названия моделей вместе с артикулами передаются в теге <model> и выглядят так:

Пылесос lg 1281 Артикул 23879

Пылесос samsung H-18 Артикул 99348

Пылесос indesit KLD Артикул 34722

Очевидно, что вам хочется использовать в ключевых словах названия моделей без артикулов. Чтобы этого добиться, в шаблонах ключевых слов укажите тег с фильтром Cut_behind_word:"X", который позволяет вырезать слово Артикул и все, что после него:

<model|Cut_behind_word:"Артикул">


Фильтры тегов 3.png


В результате в ключевых словах у вас будет следующее:

Пылесос lg 1281

Пылесос samsung H-18

Пылесос indesit KLD


Фильтры тегов 4.png


Могу ли я применить сразу несколько фильтров?

Можете! Рассмотрим на нашем "примере с Артикулами"