top
Главная страница

Поддержка24

Примеры работы с кодом CRM-форм

Рейтинг:
В данной статье рассмотрены методы и решения, исполнение которых лучше доверить квалифицированному пользователю или администратору. Ошибки могут сильно навредить работе. Не используйте данные решения, если не уверены в собственных знаниях.

CRM-формы - это очень эффективный и гибко настраиваемый инструмент. Некоторые возможности его работы не предусмотрены стандартным функционалом, но буквально несколько строк в самом коде могут сотворить чудеса:)

Как разместить одну и ту же форму с типом _form_inline несколько раз на одной странице?

  1. Добавьте тег div - контейнер куда загружать форму;
  2. Укажите параметр node, в котором передайте этот элемент;
  3. Поменяйте id у тега script.
<div id="bx24_form_inline_second"></div> <script id="bx24_form_inline_2" data-skip-moving="true"> (function(w,d,u,b) ...... /form_loader.js','b24form'); b24form({"id":"11","lang":"ru","sec":"xxxx","type":"inline2", "node": document.getElementById("bx24_form_inline_second")}); </script> 

Можно ли использовать на одной странице CRM-форму и виджет с этой CRM-формой?

Есть небольшая хитрость, но злоупотреблять ей не стоит. У CRM-формы нужно поменять тип с inline на myinline, а bx24_form_inline на bx24_form_myinline.

<script id="bx24_form_myinline" data-skip-moving="true"> ....... b24form({"id":"8","lang":"ru","sec":"7j8b8z","type":"myinline"}); 

Можно ли в коде формы задать значения полей, которые не размещены на этой форме?

Для примера передадим некоторый параметр my_param1 со значением my value:

 b24form("id":"7","lang":"ru","sec":"ff1mk2","type":"inline", "presets": {"my_param1": "my value"}) 

Отредактируем саму форму. В блоке Значения полей по умолчанию добавляем поле, в которое скрытые данные должны записаться. В добавленном поле прописываем %my_param1%.

Теперь при сохранении формы будут созданы элементы, в том числе с полем, у которого будет значение, переданное в параметре presets.

Как на одной странице разместить несколько контактных форм?

В параметре node нужно указывать элемент, в который будет вставлена форма.

Для этого нужно добавить на страницу тег div и использовать его id.

Тег div обязательно должен идти перед script.

Форма 1:

 <script id="bx24_form_inline" data-skip-moving="true"> (function(w,d,u,b){w['Bitrix24FormObject']=b;w[b] = w[b] || function(){arguments[0].ref=u; (w[b].forms=w[b].forms||[]).push(arguments[0])}; if(w[b]['forms']) return; s=d.createElement('script');r=1*new Date();s.async=1;s.src=u+'?'+r; h=d.getElementsByTagName('script')[0];h.parentNode.insertBefore(s,h); })(window,document,'http://cp.ru/bitrix/js/crm/form_loader.js','b24form'); b24form({"id":"7","lang":"ru","sec":"beudci","type":"inline"}); </script> 

Форма 2:

<div id="my_container"></div> <script id="bx24_form_inline" data-skip-moving="true"> (function(w,d,u,b){w['Bitrix24FormObject']=b;w[b] = w[b] || function(){arguments[0].ref=u; (w[b].forms=w[b].forms||[]).push(arguments[0])}; if(w[b]['forms']) return; s=d.createElement('script');r=1*new Date();s.async=1;s.src=u+'?'+r; h=d.getElementsByTagName('script')[0];h.parentNode.insertBefore(s,h); })(window,document,'http://cp.ru/bitrix/js/crm/form_loader.js','b24form'); b24form({"id":"6","lang":"ru","sec":"ivscxd","type":"inline", "node": document.getElementById('my_container')}); </script>

Как в коде виджета указать для формы значения полей?

Пример кода виджета с указанием значений для полей формы:

<script data-skip-moving="true"> (function(w,d,u,b){ s=d.createElement('script');r=1*new Date();s.async=1;s.src=u+'?'+r; h=d.getElementsByTagName('script')[0];h.parentNode.insertBefore(s,h); })(window,document,'http://cp.bx/upload/crm/site_button/loader_14_i4bdl2.js'); window.Bitrix24WidgetObject = window.Bitrix24WidgetObject || {}; window.Bitrix24WidgetObject.handlers = { 'form-init': function(form){ form.presets = { 'my_cookie1': 'ЗНАЧЕНИЕ', }; } }; 
В данном примере, в форме можно использовать тег персонализации %my_cookie1%.
Спасибо, помогло! Спасибо :) Не помогло Очень жаль :(
Уточните, пожалуйста, почему:
Это не то, что я ищу
Очень сложно и непонятно

Не нашли ответ на свой вопрос?

ЗАДАЙТЕ ВОПРОС КОМАНДЕ ПОДДЕРЖКИ24
Создавать обращения в техподдержку могут только пользователи коммерческих тарифов. Пользователи бесплатной версии имеют доступ к множеству обучающих статей и видео, а также записям вебинаров по Битрикс24. Со всеми вопросами по установке, внедрению и доработке вам помогут наши партнеры