top_ua
Головна сторінка

Підтримка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. З усіма питаннями по встановленню, впровадженню та доопрацюванню вам допоможуть наші партнери