Всем привет. Есть кастомный компонент.. проблема в том что мне нужно из 4 категорий вывести все новости в один блок на сайте, но выводится только один из 4 айдишников. Как вывести всё сразу? Я думаю проблема не сложная.. просто я вообще не знаю php... помогите плиз. В кастомном компоненте такие файлы
component.php
Код |
---|
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();
if (CModule::IncludeModule("iblock")) {
$arSelect = array(
"ID",
"IBLOCK_ID",
"PROPERTY_ATTR_SHORT_TITLE",
"PROPERTY_ATTR_MEMBER_RUS",
"PROPERTY_ATTR_MEMBER_DE",
"DETAIL_PAGE_URL"
);
$arFilter = array(
"IBLOCK_ID" => array(2,3,15,16),
"ACTIVITY" => "Y",
"!PROPERTY_ATTR_SHORT_TITLE" => false,
array(
"LOGIC" => "OR",
array("!PROPERTY_ATTR_MEMBER_RUS" => false),
array("!PROPERTY_ATTR_MEMBER_DE" => false)
)
);
$arOrder = array(
"PROPERTY_ATTR_SHORT_TITLE" => "ASC",
);
$res = CIBlockElement::GetList($arOrder, $arFilter, false, array("nPageSize" => 10, "bShowAll" => false), $arSelect);
while ($ob = $res->GetNextElement()) {
$arFields = $ob->GetFields();
// if (!empty($arFields["PROPERTY_ATTR_MEMBER_RUS_VALUE"]) || (!empty($arFields["PROPERTY_ATTR_MEMBER_DE_VALUE"]))) {
// Формируем массив немецких партнеров
foreach ($arFields["PROPERTY_ATTR_MEMBER_DE_VALUE"] as &$deMember) {
$deMemberRes = CIBlockElement::GetByID($deMember);
while ($de = $deMemberRes->GetNextElement())
$deMember = $de->GetFields();
$deMember["DETAIL_PICTURE"] = CFile::GetPath($deMember["DETAIL_PICTURE"]);
}
// Формируем массив российских партнеров
foreach ($arFields["PROPERTY_ATTR_MEMBER_RUS_VALUE"] as &$deMember) {
$deMemberRes = CIBlockElement::GetByID($deMember);
while ($de = $deMemberRes->GetNextElement())
$deMember = $de->GetFields();
$deMember["DETAIL_PICTURE"] = CFile::GetPath($deMember["DETAIL_PICTURE"]);
}
$arResult["ITEMS"][] = $arFields;
$arResult["NAV_STRING"] = $res->GetPageNavStringEx(
$navComponentObject,
"",
"forum",
true,
$this,
array(
"PAGER_SHOW_ALL" => "N"
)
);
}
// }
// $num = 10;
// $page = $_GET['page'];
// $posts = count($arResult["ITEMS"]);
// $total = intval(($posts - 1) / $num) + 1;
// $page = intval($page);
//
// if(empty($page) or $page < 0) $page = 1;
// if($page > $total) $page = $total;
//
// $start = $page * $num - $num;
}
$this->IncludeComponentTemplate(); |
есть index.php
Код |
---|
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Partnerschaften");
?><?
$GLOBALS['arrFilter_partners'] = array("!PROPERTY_ATTR_MEMBER_RUS"=>false);
?>
<?$APPLICATION->IncludeComponent(
"divier:partnerschaften",
".default",
array(
"CACHE_TIME" => "3600",
"CACHE_TYPE" => "A",
"IBLOCK_ID" => array(
0 => "2",
1 => "3",
2 => "15",
3 => "16",
),
"IBLOCK_TYPE_ID" => "content_germ",
"COMPONENT_TEMPLATE" => ".default"
),
false
);?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
|
и вывод в template.php
Код |
---|
<? foreach ($arResult["ITEMS"] as $item): ?> <?// print_r($item) ?> <div class="event"> <div class="name"><a href="<?= $item["DETAIL_PAGE_URL"] ?>"><?= $item["PROPERTY_ATTR_SHORT_TITLE_VALUE"] ?></a></div> <div class="partners"> <div class="germany"> <? foreach ($item["PROPERTY_ATTR_MEMBER_DE_VALUE"] as $deMember): ?> <div class="partner"> <a href="<?= $item["DETAIL_PAGE_URL"] ?>"> <img src="<?= $deMember["DETAIL_PICTURE"] ?>" alt="</span><span class="pun" st yle="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; box-sizing: inherit; color: var(--black-750);"><?= $item["PROPERTY_ATTR_SHORT_TITLE_VALUE"] ?>"> <span> <?= $deMember["NAME"] ?> </span> </a> </div> <? endforeach; ?> </div> <div class="russia"> <? foreach ($item["PROPERTY_ATTR_MEMBER_RUS_VALUE"] as $ruMember): ?> <div class="partner"> <a href="<?= $item["DETAIL_PAGE_URL"] ?>"> <img src="<?= $ruMember["DETAIL_PICTURE"] ?>" alt="</span><span class="pun" st yle="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; box-sizing: inherit; color: var(--black-750);"><?= $item["PROPERTY_ATTR_SHORT_TITLE_VALUE"] ?>"> <span> <?= $ruMember["NAME"] ?> </span> </a> </div> <? endforeach; ?> </div> </div> </div> <? endforeach; ?> |