Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Документация на веб-формы

00 голосов
6
Имеем веб-форму. Хочется сделать её по старинке с использованием файла form/result_new/default.php в директории шаблона. Берём оригинальный файл. Видим занятный код:

Код
// create form output class
   $FORM = new CFormOutput();
   //initialize&check form
   if ($FORM->Init($arParams))
   {
      // output form
      $FORM->Out();
   }


Открываем документацию и не находим этих методов у объекта CFormOutput. Это что, секретные методы? Или допилить документацию на компоненты 1.0, которым сто лет в обед, сил не хватило?
спросил 12 Окт, 13 от Kimimaro (180 баллов)

6 Ответы

00 голосов
Цитата
Чёрт пишет:
Это что, секретные методы?

Это - недокументированные методы. smile;) А вообще точно - достаточное количество методов не отражено в хелпе. Да чего уж там - прямо скажу: хелп написан эээээ.... не очень хорошо. smile:(
ответил 01 Ноя, 13 от Jackie (380 баллов)
00 голосов
Это устаревшие методы, и их использование не рекомендуется. Лучше используйте Компоненты 2.0.
ответил 06 Фев, 14 от Voronov (140 баллов)
00 голосов
Цитата
Maks Sidorenko пишет:
Это устаревшие методы, и их использование не рекомендуется. Лучше используйте Компоненты 2.0.


Насколько я понимаю, т.н. "Компоненты 2.0" используют в данном случае те же самые файлы шаблонов по умолчанию, а следовательно используют и методы, применённые в этих шаблонах. Проблема в том, что за долгие годы разработчики Битрикса так и не осилили спецификацию XHTML, поэтому многие вещи приходится допиливать вручную.
ответил 26 Май, 14 от Kimimaro (180 баллов)
00 голосов
Цитата
Чёрт пишет:
Насколько я понимаю, т.н. "Компоненты 2.0" используют в данном случае те же самые файлы шаблонов по умолчанию, а следовательно используют и методы, применённые в этих шаблонах.

Неверно понимаете. Компоненты 1.0 и Компоненты 2.0 - это принципиально разные сущности, пусть одно и выросло исторически из другого. Никакие файлы шаболонов ими совместно не используются (точнее, для веб-форм существовал когда-то механизм отдельных шаблонов, но это "каменный век" Битрикса, и уже тоже не рекомендуется к использованию, хотя и в некоторой степени поддерживается). Компонент 2.0 содержит свой собственный шаблон, плюс, модуль веб-форм позволяет использовать визаульные шаблоны форм, создаваемые при помощи визуального редактора в настройках формы. При использовании визуального шаблона веб-формы шаблон компонента не участвует в процессе, отрабатывает только сам компонент.
ответил 22 Сен, 14 от Voronov (140 баллов)
00 голосов
Цитата
Maks Sidorenko пишет:
Неверно понимаете. Компоненты 1.0 и Компоненты 2.0 - это принципиально разные сущности, пусть одно и выросло исторически из другого. Никакие файлы шаболонов ими совместно не используются (точнее, для веб-форм существовал когда-то механизм отдельных шаблонов, но это "каменный век" Битрикса, и уже тоже не рекомендуется к использованию, хотя и в некоторой степени поддерживается).


А что по Вашему тогда такое
Цитата
$APPLICATION->IncludeFile("form/result_view/default.php", array(
, как не шаблон, используемый в компоненте 1.0?

Цитата
Maks Sidorenko пишет:
Компонент 2.0 содержит свой собственный шаблон, плюс, модуль веб-форм позволяет использовать визаульные шаблоны форм, создаваемые при помощи визуального редактора в настройках формы. При использовании визуального шаблона веб-формы шаблон компонента не участвует в процессе, отрабатывает только сам компонент.


Ну и как с помощью визуального редактора в компонентах 2.0 можно повесить обработчик события onsubmit в тег формы, если CFormOutput::ShowFormHeader() добавляется автоматом? Или каким образом заставить элемент выпадающего списка select выводиться в соответствии со стандартом XHTML, а не в соответствии с желаниями разработчиков Битрикса?
ответил 26 Янв, 15 от Kimimaro (180 баллов)
00 голосов
Цитата
Чёрт пишет:
А что по Вашему тогда такое $APPLICATION->IncludeFile("form/result_view/defaul­t.php", array( , как не шаблон, используемый в компоненте 1.0?

Это не шаблон, а вызов самого Компонента 1.0. Приведите, пожалуйста, контекст, из которого Вы взяли этот вызов.

Цитата
Чёрт пишет:
Ну и как с помощью визуального редактора в компонентах 2.0 можно повесить обработчик события onsubmit в тег формы, если CFormOutput::ShowFormHeader() добавляется автоматом?

1) Используя шаблон компонента и кастомизацию этого шаблона
2) <script>window.onload = function () {document.forms.myform.onsubmit = MyFormHandler; }</script>

Цитата

Или каким образом заставить элемент выпадающего списка select выводиться в соответствии со стандартом XHTML, а не в соответствии с желаниями разработчиков Битрикса?

В компонентах, входящих в поствку, элементы выпадающего списка строятся средствами Главного модуля. Насколько я помню, там вывод приводился в соответствие стандарту, хотя, я могу и ошибаться. Проверьте версию продукта.
Кроме того, ничто не мешает кастомизировать шаблон компонента 2.0 (что гораздо проще, чем аналогичное действие с со старыми компонентами) и выстроить список элементов вручную.
ответил 10 Май, 15 от Voronov (140 баллов)

Похожие вопросы

0 голосов
1 ответ
спросил 15 Дек, 13 от Kania (5,180 баллов)
0 голосов
9 ответов
спросил 24 Апр, 13 от Botinok (220 баллов)
0 голосов
0 ответов
спросил 09 Дек, 15 от VI (120 баллов)
0 голосов
1 ответ
0 голосов
2 ответов
спросил 06 Май, 14 от ZooWolf (120 баллов)