Добрый день. Есть очень непонятная проблема.
По порядку:
1. Есть структура шаблона для примера:
header.php
footer.php
2. Есть страница со стандартным комплексным компонентом bitrix:catalog
В шаблоне элемента компонента bitrix:catalog.element (template.php) вставлен код компонента добавления результата веб формы bitrix:form.result.new.
Форма отлично работает.
Теперь проблема:
При переключении компонента bitrix:form.result.new в режим AJAX. (параметр AJAX_MODE='Y') едет верстка!
Должно быть так:
А получается так:
Т.е. весь основной контент сайта попадает в header. А теги в которых должен быть контент вставляются куда-нибудь между кодом компонента работающего в режиме AJAX.
Кто встречался с таким? Очень прошу помощи.
Пробовал такие варианты:
1. В основном файле шаблона (template.php) компонента bitrix:catalog.element убирал весь код который есть, оставлял только код компонента bitrix:form.result.new. - ПРОБЛЕМА СОХРАНЯЕТСЯ.
2. Вставлял код bitrix:form.result.new в файл element.php комплексного компонента catalog вместо всего что там есть (вместо вызова шаблона элемента) - ПРОБЛЕМА ИСЧЕЗАЕТ.
3. Просто ставил вызов компонента bitrix:form.result.new на чистую страницу с хедером и футтером. - ПРОБЛЕМЫ НЕТ
Т.е. проблема именно при размещении AJAX компонента в шаблоне другого компонента.
Нашел похожую тему, там был совет что подобный косяк с версткой может быть если где то в шаблонах компонентов используются отложенные функции. Но в данном случае ничего не нашел.
По порядку:
1. Есть структура шаблона для примера:
header.php
Код |
---|
.... <div class="wrapper"> <div class="header"> </div> <div class="workarea"> |
Код |
---|
<div> <!-- workarea --> <div> <!-- wrapper --> ... |
2. Есть страница со стандартным комплексным компонентом bitrix:catalog
В шаблоне элемента компонента bitrix:catalog.element (template.php) вставлен код компонента добавления результата веб формы bitrix:form.result.new.
Форма отлично работает.
Теперь проблема:
При переключении компонента bitrix:form.result.new в режим AJAX. (параметр AJAX_MODE='Y') едет верстка!
Должно быть так:
Код |
---|
<div class="wrapper"> <div class="header"> </div> <div class="workarea"> КОД КОМПОНЕНТА bitrix:form.result.new <div> <!-- workarea --> <div> <!-- wrapper --> |
А получается так:
Код |
---|
<div class="wrapper"> <div class="header"> Начало кода КОМПОНЕНТА bitrix:form.result.new <div class="workarea"> <div> <!-- workarea --> Конец кода КОМПОНЕНТА bitrix:form.result.new </div> <div> <!-- wrapper --> |
Т.е. весь основной контент сайта попадает в header. А теги в которых должен быть контент вставляются куда-нибудь между кодом компонента работающего в режиме AJAX.
Кто встречался с таким? Очень прошу помощи.
Пробовал такие варианты:
1. В основном файле шаблона (template.php) компонента bitrix:catalog.element убирал весь код который есть, оставлял только код компонента bitrix:form.result.new. - ПРОБЛЕМА СОХРАНЯЕТСЯ.
2. Вставлял код bitrix:form.result.new в файл element.php комплексного компонента catalog вместо всего что там есть (вместо вызова шаблона элемента) - ПРОБЛЕМА ИСЧЕЗАЕТ.
3. Просто ставил вызов компонента bitrix:form.result.new на чистую страницу с хедером и футтером. - ПРОБЛЕМЫ НЕТ
Т.е. проблема именно при размещении AJAX компонента в шаблоне другого компонента.
Нашел похожую тему, там был совет что подобный косяк с версткой может быть если где то в шаблонах компонентов используются отложенные функции. Но в данном случае ничего не нашел.