Задать вопрос
@IgorRastarov

Как вывести код через template.php?

У меня есть result_modifier.php
<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

	$arSections = CIBlockSection::GetList(Array("SORT" => "DESK", 'left_margin' => 'ASC'), Array("IBLOCK_ID" => "13", "ACTIVE"=>"Y"));
	while($section = $arSections->GetNext()) {
		$sectionsList[$section["ID"]]["ID"] = $section["ID"];
		$sectionsList[$section["ID"]]["CODE"] = $section["CODE"];
		$sectionsList[$section["ID"]]["NAME"] = $section["NAME"];
		$sectionsList[$section["ID"]]["ITEMS"] = Array();
		$rsSection["ID"][] = $section;
	}
	
	$arElements = CIBlockElement::GetList(
		Array("SORT"=>"ASC", 'ID' => 'desc'), 
		Array("IBLOCK_ID" => "13","ACTIVE"=>"Y"),
		false,
		false,
		Array("ID", "CODE", "NAME", "IBLOCK_SECTION_ID")
	);
		
	while($element = $arElements->GetNextElement()) {
		$arFields = $element->GetFields();
		$sectionsList[$arFields["IBLOCK_SECTION_ID"]]["ITEMS"][] = Array("ID" => $arFields["ID"], "CODE" => $arFields["CODE"], "NAME" => $arFields["NAME"]);

	}

foreach ($rsSection["ID"] as $section) {
var_dump($section["NAME"]);
}

Все работает. Когда пытаюсь переместить в template.php
foreach ($rsSection["ID"] as $section) {
var_dump($section["NAME"]);
}

Перестает работать. Что не так?
  • Вопрос задан
  • 204 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
@maxyc_webber
Web-программист
а где у вас rsSection?
Ответ написан
rpsv
@rpsv
делай либо хорошо, либо никак
$rsSection у вас определяется в первом цикле в файле result_modifier.php.
Либо полностью переносите цикл в template.php.
Либо $sectionList отправляется в $arResult и потом уже в template.php его оттуда доставайте.

P.S. это кусок кода, или целый код? Откуда, что берется?
Ответ написан
Anadi
@Anadi
Если ответ Вам помог мой, решением отметье его!
result_modifier.php используется для модификации существующего массива, скажем
foreach ($arResult["SECTIONS"] as $arSection) {
...
}

Если вы пытаетесь внести изменения в массив то перед выводом в template.php, вам следует перезаписать &$arSection.
Если вы пытаетесь вывести просто список разделов пишите ваш код в template.php
Ответ написан
Ваш ответ на вопрос

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

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