Но все же есть нюансы. Первый из них это подсчет символов при вводе. Если он включен, то вываливается ошибка "ReferenceError: LANG_CH1 is not defined" и ничто не работает.
Проблема в том, что переменные (как бы константы) 'LANG_CH1', 'LANG_CH2', 'LANG_CH10', которые объявляются в шаблоне формы, не видны скрипту в шаблоне поля. Сейчас буду смотреть, как исправить. Но может кто-то уже решал эту задачку.
PS Отключение подсчета через админку помогает, но это не кошерное решение.
<script type="text/javascript"> <?php echo $this->getLangJS('LANG_CH1','LANG_CH2','LANG_CH10', 'LANG_ISLEFT', 'LANG_SUBMIT_NOT_SAVE'); ?> $(function (){ icms.forms.initUnsaveNotice(); <?php if ($form->is_tabbed){ ?> initTabs('#<?php echo $form_id; ?>'); <?php } ?> $('.is_collapsed legend').on('click', function (){ var _fieldset = $(this).closest('.is_collapsed'); $(_fieldset).toggleClass('is_collapse do_expand'); $.cookie('icms[fieldset_state]['+$(_fieldset).attr('id')+']', $(_fieldset).hasClass('do_expand')); }); $('.is_collapsed').each(function (){ if($(this).find('.field_error').length > 0 || $.cookie('icms[fieldset_state]['+$(this).attr('id')+']') === 'true'){ $(this).addClass('do_expand').removeClass('is_collapse'); return; } }); }); </script>
Тему пока не закрываю, потому как могут возникнуть и другие нюансы (у меня уже возникали, но уже не помню какие, но как-то решал их).