@astrodeep

Как вывести компонент веб-формы в цикле news.list?

Добрый день,вопрос конечно идиотский но все таки)) такой имеем вывод news.list
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
/** @var array $arParams */
/** @var array $arResult */
/** @global CMain $APPLICATION */
/** @global CUser $USER */
/** @global CDatabase $DB */
/** @var CBitrixComponentTemplate $this */
/** @var string $templateName */
/** @var string $templateFile */
/** @var string $templateFolder */
/** @var string $componentPath */
/** @var CBitrixComponent $component */
$this->setFrameMode(true);
?>
<div class="box-row" style="overflow: hidden">
<?if($arParams["DISPLAY_TOP_PAGER"]):?>
	<?=$arResult["NAV_STRING"]?><br />
<?endif;?>
<? foreach($arResult["ITEMS"] as $arItem):?>
	<?
	$this->AddEditAction($arItem['ID'], $arItem['EDIT_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_EDIT"));
	$this->AddDeleteAction($arItem['ID'], $arItem['DELETE_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_DELETE"), array("CONFIRM" => GetMessage('CT_BNL_ELEMENT_DELETE_CONFIRM')));
	?>
	<div class="industry-box-prev" id="<?=$this->GetEditAreaId($arItem['ID']);?>">
		<?if($arParams["DISPLAY_PICTURE"]!="N" && is_array($arItem["PREVIEW_PICTURE"])):?>
		 
			 	<div  style="cursor: pointer"  data-toggle="modal" data-target="#modal<?=$arItem["ID"]?>"><img
						class="preview_picture"
					 src="<?=$arItem["PREVIEW_PICTURE"]["SRC"]?>"
				 
						alt="<?=$arItem["PREVIEW_PICTURE"]["ALT"]?>"
						title="<?=$arItem["PREVIEW_PICTURE"]["TITLE"]?>"
				 
						/></div>
		 
		<?endif?> 
	
		<?if($arParams["DISPLAY_NAME"]!="N" && $arItem["NAME"]):?>
		 <div style="cursor: pointer" data-toggle="modal" data-target="#modal<?=$arItem["ID"]?>" class="industry-box-prev__title valign-wrapper"> <span><?echo $arItem["NAME"]?></span></div>
		<?endif;?>
		
		
		
	<!--	<?if($arParams["DISPLAY_PREVIEW_TEXT"]!="N" && $arItem["PREVIEW_TEXT"]):?>
			<?echo $arItem["PREVIEW_TEXT"];?>
		<?endif;?>-->
 
		 
		 
		
<!-- Modal -->
<div class="modal modal-industry fade" id="modal<?=$arItem["ID"]?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
  <div class="modal-dialog">
    <div class="modal-content">
   <h2><span><?=$arItem["DISPLAY_PROPERTIES"]["TITLES"]["DISPLAY_VALUE"]?> </span>
  <div class="close" data-dismiss="modal" aria-hidden="true">
 <div class="table-box"> 
    <div class="table-div">
 &times;
	</div>
	<div class="table-div"><b>Закрыть</b></div>
	</div>
    </div>
   </h2>
      <div class="modal-body">
    <?if($arParams["DISPLAY_PREVIEW_TEXT"]!="N" && $arItem["PREVIEW_TEXT"]):?>
			<?echo $arItem["PREVIEW_TEXT"];?>
		<?endif;?>
<div class="box-btn-in text-center"><a style="cursor: pointer"  class="btn-in"  data-toggle="modal" data-target="#modal-industry-form">
Оставить заявку
 </a>
 </div>
 </div>
</div>
  </div>
</div>
</div>
<?endforeach;?>
<?if($arParams["DISPLAY_BOTTOM_PAGER"]):?>
	<br /><?=$arResult["NAV_STRING"]?>
<?endif;?>
</div>
<div class="box-btn-in text-center"><a style="cursor: pointer"  class="btn-in"  data-toggle="modal" data-target="#modal-industry-form">
Оставить заявку
 </a>
 </div>


некий текст в модалке, когда пытаюсь засунуть в цикл вызов компонента веб-формы

<?$APPLICATION->IncludeComponent(
	"bitrix:form", 
	"template_form_industry", 
	array(
		"AJAX_MODE" => "Y",
		"AJAX_OPTION_ADDITIONAL" => "",
		"AJAX_OPTION_HISTORY" => "N",
		"AJAX_OPTION_JUMP" => "N",
		"AJAX_OPTION_STYLE" => "Y",
		"CACHE_TIME" => "3600",
		"CACHE_TYPE" => "A",
		"CHAIN_ITEM_LINK" => "",
		"CHAIN_ITEM_TEXT" => "",
		"EDIT_ADDITIONAL" => "N",
		"EDIT_STATUS" => "N",
		"IGNORE_CUSTOM_TEMPLATE" => "N",
		"NOT_SHOW_FILTER" => array(
			0 => "",
			1 => "",
		),
		"NOT_SHOW_TABLE" => array(
			0 => "",
			1 => "",
		),
		"RESULT_ID" => $_REQUEST[RESULT_ID],
		"SEF_MODE" => "N",
		"SHOW_ADDITIONAL" => "N",
		"SHOW_ANSWER_VALUE" => "N",
		"SHOW_EDIT_PAGE" => "N",
		"SHOW_LIST_PAGE" => "N",
		"SHOW_STATUS" => "N",
		"SHOW_VIEW_PAGE" => "N",
		"START_PAGE" => "new",
		"SUCCESS_URL" => "",
		"USE_EXTENDED_ERRORS" => "Y",
		"WEB_FORM_ID" => "1",
		"COMPONENT_TEMPLATE" => "template_form_industry",
		"VARIABLE_ALIASES" => array(
			"action" => "action",
		)
	),
	false
);?>


все падает((
  • Вопрос задан
  • 342 просмотра
Пригласить эксперта
Ответы на вопрос 1
winer
@winer
занимаюсь разработкой сайтов на 1c-bitrix
Вы пытаетесь вывести внутри news.list комплексный компонент bitrix:form. Не стоит так делать. Я так понимаю, что Вам надо вывести в одном из полей формы какой то текст, зависящий от элемента $arItem в news.list. Например название товара.

Я бы эту задачу решил так:
1) создаем файл /ajax/form.php - в нём размещаем компонент bitrix:form.new ( в его параметрах настраиваем режим ajax - AJAX_MODE => Y и т.д.)
2) Пишем js скрипт который будет выводить эту форму в модалку. Можно использовать fancybox или стандартную bx библиотеку . (BX.PopupWindowManager). После вывода модалки подставляем в форму нужное нам название товара.
3) В шаблоне news.list создаем кнопку, на которую навешиваем наш js скрипт.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы