Кодирование переменных: различия между версиями

Материал из Planfix
Перейти к: навигация, поиск
Нет описания правки
Нет описания правки
Строка 22: Строка 22:
  <pre>http://site-course.com/forms/about-course/?course_name=Акция</pre>
  <pre>http://site-course.com/forms/about-course/?course_name=Акция</pre>


Так происходит, потому что ссылка содержит русские символы, пробелы и специальные символы, которые недопустимы при формировании ссылки. Все такие символы необходимо кодировать. Для этого к переменным и применяется функция '''::encode=url'''.  
Так происходит, потому что ссылка содержит русские символы, пробелы и специальные символы, которые недопустимы при формировании ссылки. Все такие символы необходимо кодировать. Для этого к переменным добавляется функция '''::encode=url'''.  


В итоге правильная ссылка с переменными должна выглядеть следующим образом:
В итоге правильная ссылка с переменными должна выглядеть следующим образом:

Версия от 10:15, 14 октября 2020

К переменным в ПланФиксе можно применять различные функции. Одна из них:

::encode=url

Допустим у вас стоит задача сформировать ссылку, при клике на которую будут передаваться определенные дополнительные параметры из задачи, например, название обучающего курса. Ссылка будет выглядеть так:

http://site-course.com/forms/about-course/?course_name={{Задача.Источник ЛИД'а}}

Но если название курса будет содержать недопустимые символы, данные из ссылки передадутся некорректно. Например, ссылка с таким названием курса:

Акция "Обучись видеомонтажу всего за 1 месяц бесплатно" (2020)

Будет выглядеть вот так:

http://site-course.com/forms/about-course/?course_name=Акция

Так происходит, потому что ссылка содержит русские символы, пробелы и специальные символы, которые недопустимы при формировании ссылки. Все такие символы необходимо кодировать. Для этого к переменным добавляется функция ::encode=url.

В итоге правильная ссылка с переменными должна выглядеть следующим образом:

http://site-course.com/forms/about-course/?course_name={{Задача.Источник ЛИД'а::encode=url}}

Давайте на примере разберемся в деталях.

Допустим мы хотим передать в ссылке имя исполнителя.

Пример ссылки

Для этого у нас будет такая переменная …

Если мы используем обычную переменную в шаблоне, у нас сформируется вот такой url:

Браузер такую ссылку отработает неверно и будут переданы неполные данные.

Если к переменной добавим ::encode=url, тогда ссылка будет сформирована правильно и все данные будут переданы без потерь.