Публичная форма и как её правильно приготовить
Добавлено: 23 окт 2019, 21:44
Суть в чем. Требуется создать публичную форму с доступом по телефону и номеру заявки.
Номером заявки у меня выступает автоинкримент.
Полазив по коду модуля я смог добавить вывод поля телефона и поля проверки автоинкримента.
Изменения кода в:
plugins/ext/modules/public/views/check.php
Добавил в switch($v['type']) еще один case:
Также для появления типа полей в странице конфигурации "Публичные формы -> Проверка обращений", изменил
plugins/ext/modules/public_forms/actions/public_forms.php
case 'get_check_page_available_fields':
в переменной $fields_query добавил дополнительно значения 'fieldtype_phone' и 'fieldtype_auto_increment'
И для проверки автоинкремента сменил значение в:
plugins/ext/modules/public/views/check.php
47 строка
'is_new_item' c true на false (А то грузило по умолчанию следующий автоинкремент).
И также создал костыль в разделе скрипта для форматирования номера plugins/ext/modules/public/views/check.php
В данный момент все работает. Но меня кумарит же мой костыль. То есть он в данный момент привязан чисто к одному полю. А как правильно сделать не знаю. Может кто подскажет?
Номером заявки у меня выступает автоинкримент.
Полазив по коду модуля я смог добавить вывод поля телефона и поля проверки автоинкримента.
Изменения кода в:
plugins/ext/modules/public/views/check.php
Добавил в switch($v['type']) еще один case:
Код: Выделить всё
case 'fieldtype_phone':
$field_type = 'fieldtype_phone';
break;
plugins/ext/modules/public_forms/actions/public_forms.php
case 'get_check_page_available_fields':
в переменной $fields_query добавил дополнительно значения 'fieldtype_phone' и 'fieldtype_auto_increment'
Код: Выделить всё
case 'get_check_page_available_fields':
$choices_check = array();
$fields_query = db_query("select f.*, t.name as tab_name from app_fields f, app_forms_tabs t where f.type in ('fieldtype_id','fieldtype_date_added','fieldtype_input_email','fieldtype_phone','fieldtype_auto_increment','fieldtype_random_value') and f.entities_id='" . _post::int('entities_id') . "' and f.forms_tabs_id=t.id order by t.sort_order, t.name, f.sort_order, f.name");
plugins/ext/modules/public/views/check.php
47 строка
'is_new_item' c true на false (А то грузило по умолчанию следующий автоинкремент).
И также создал костыль в разделе скрипта для форматирования номера plugins/ext/modules/public/views/check.php
Код: Выделить всё
<script>
$(function(){
$('a').attr('target','_new');
$('#check_form').validate();
$("#fields_245").mask("+38(999)999-99-99");
})
</script>