Второй день не могу заставить инфоблоки сортироваться и фильтроваться как надо. Помогите, может кто сталкивался с подобным.
Есть инфоблоки "Проекты" и "Клиенты". У первого есть свойство "Привязка к элементам" (через него связываю проект с клиентом). У второго есть имя и логотип.
Вывожу список проектов через свой шаблон с помощью компонента bitrix:news. В папке /bitrix/templates/bitrix24/components/bitrix/news/projects/b
itrix/news.list/.default создал файл result_modifier.php, который успешно дополняет $arResult названием и ссылкой на логотип клиента:
Код |
---|
foreach ($arResult["ITEMS"] as $key=>$arItem) {
$clientId = $arItem["PROPERTIES"]["CLIENT"]["VALUE"];
$clientElem = CIBlockElement::GetByID($clientId);
if ($arEl = $clientElem->GetNext()) {
$arResult["ITEMS"][$key]["PROPERTIES"]["CLIENTNAME"] = $arEl['NAME'];
$arResult["ITEMS"][$key]["PROPERTIES"]["CLIENTLOGO"] = CFile::GetPath($arEl['PREVIEW_PICTURE']);
}
} |
При этом повлиять на сортировку не удается (хотя print_r($arParams) показывает измененные значения):
Код |
---|
$arParams["SORT_BY1"] = "PROPERTY_CLIENTNAME";
$arParams["SORT_ORDER1"] = "DESC"; |
В вызове компонента указываю:
Код |
---|
"FILTER_NAME" => "arrFilter" |
В result_modifier.php безрезультатно пишу:
Код |
---|
global $arrFilter;
$arrFilter = array("PROPERTY_CLIENTNAME" => "Best Client Ever"); |
Перерыл весь инет, перепробовал все. Перерыл весь интернет. Ничего не помогает.