ФорумКреативВерстка и программирование
Демиарт Поиск Новые сообщения
 мужчина  millls 28 Июня 2020, 13:54
Пост №1 * 28 Июня 2020, 13:54

Размышляющие
69 постов
Возраст: 32
Регистрация: 17.06.2014
Проживает: Пермь
Всем привет!
У меня есть инфоблок №1 с разделами и в каждом разделе есть элементы. У каждого раздела есть связь с другими разделами у инфобоока №2.
Мне нужно что бы инфоблок №1 показывал элементы раздела в другом разделе инфоблока №2 где связь у раздела инфоблока №1 имеется связь свойством...
Надеюсь не замудренно объяснил...

У меня все выводится так как надо, только загвоздка в том что на странице где разделы инфоблока №2 в каждом разделе выводится одни и те же элементы, но должны быть разные.

CODE

//Общая информация гетлистов
$IBLOCK_ID = 13;
$arOrder = array("SORT" => "DESC");
$arSelect = Array("ID", "IBLOCK_ID", "*", "UF_*");

//Разделы
$arFilter = Array("IBLOCK_ID" => $IBLOCK_ID);
$resSection = CIBlockSection::GetList(array(), $arFilter, false, $arSelect);
while($arSections = $resSection->GetNext()){
 $isSectionId[] = $arSections['UF_SECTION_ID']; //Свойство привязки к разделу инфоблока №2
}

//Элементы

$arFilters = Array("IBLOCK_ID" => $IBLOCK_ID);
$resItem = CIBlockElement::GetList($arOrder, $arFilters, false, false, $arSelect);

while($ob = $resItem->GetNextElement()){
$arFields = $ob->GetFields();
$arProps = $ob->GetProperties();
?>
<pre>
<?print_r($arFields['NAME']);?>
</pre>
<?
}


Пробовал в фильтре вывода элементов прописывать:
$arSection['ID'] = $isSectionId;
in_array($arSection['ID'], $isSectionId);

Все это делаю в шаблоне catalog.section.list
Приложил файл template.php в архиве.

И условие пробовал прописать...
Но не выходило так как надо...
Кто может подсказать или дать направление как еще можно сделать, буду очень рад!


Присоединённый файл  template_2.zip ( 2,21 KB ) Кол-во скачиваний: 3


Отредактировано: millls — 28 Июня 2020, 14:20
  Google

Группа: Робот
1 пост
Возраст: скрывает
Регистрация: 26.11.2003

 мужчина  millls 28 Июня 2020, 14:03 (спустя 8 мин. 3 сек.)
Пост №2 * 28 Июня 2020, 14:03 (спустя 8 мин. 3 сек.)

Размышляющие
69 постов
Возраст: 32
Регистрация: 17.06.2014
Проживает: Пермь
Вот еще пробовал непосредственно в самом инфоблоке №2 сделать подобное. Но выходит тоже самое, все элементы всех разделов выходят. А должны быть разные каждого раздела. Файл шаблона приложил
Присоединённый файл  template2___news.list.zip ( 973 байт ) Кол-во скачиваний: 4


Вот код шаблона, компонента news.list:
CODE

<?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);

$IBLOCK_ID = 13;
$arOrder = array("SORT" => "DESC");
$arSelect = Array("ID", "IBLOCK_SECTION_ID", "IBLOCK_ID", "*", "UF_SECTION_ID");


if (CModule::IncludeModule("iblock")) {


 $arFilterSec = Array("IBLOCK_ID" => $IBLOCK_ID);
 $resSection = CIBlockSection::GetList($arOrder, $arFilterSec, false, $arSelect);

 while($arSections = $resSection->GetNext()){
  $isSectionId[] = $arSections['UF_SECTION_ID'];
  $isSection_ID[] = $arSections['ID'];



  $arFilter = Array("IBLOCK_ID" => $IBLOCK_ID);
  $resItem = CIBlockElement::GetList($arOrder, $arFilter, false, false, $arSelect);


 }
}


?>
<div class="lessons-list">

<?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')));


?>
<?if(in_array($arParams['PARENT_SECTION'], $isSectionId)):?>

<?

while($ob = $resItem->GetNextElement()){
 $arFields = $ob->GetFields();
 $arProps = $ob->GetProperties();
 echo $arFields['NAME'];
 echo '</br>';
}

?>

<?else:?>
<a href="/lessons/ls.php?LS=<?=$arItem["ID"]?>"><i class="far fa-file"></i> <?=$arItem["NAME"]?></a>
<?endif;?>
<?endforeach;?>

</div>


Отредактировано: millls — 28 Июня 2020, 14:20
0
 мужчина  millls 28 Июня 2020, 19:27 (спустя 5 часов 24 мин.)
Пост №3 * 28 Июня 2020, 19:27 (спустя 5 часов 24 мин.)

Размышляющие
69 постов
Возраст: 32
Регистрация: 17.06.2014
Проживает: Пермь
Вопрос решен. Тему можно закрыть
0
« Предыдущая тема · Верстка и программирование · Следующая тема»
 Похожие темы
Как построить элементы форума?помогите, пожалуста!
Elberet 15 2340 13 Сентября 2007 - 14:52
» к последнему сообщению
Как сверстать элемент меню из нескольких картинок
Olga_horseart 9 1018 11 Июля 2008 - 11:55
» к последнему сообщению
Как разделить текст на несколько запросов к БД?
DJ SummerBoy 45 1957 6 Февраля 2011 - 13:32
» к последнему сообщению
Joomla как убрать матерьял с раздела
b0yfrend 5 1153 27 Декабря 2011 - 20:50
» к последнему сообщению
DOM - Как добраться до элемента?
Fratyr 6 954 13 Августа 2008 - 16:50
» к последнему сообщению

0 посетителей в этой теме