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