• Битрикс. Как вывести пользовательское свойство в хлебных крошках?

    vasilyev
    @vasilyev
    php, 1c-bitrix
    Ну вот, пусть знатоки меня пинают теперь.

    //$arResult - массив на входе в result_modifier.php
    $iblock_id = 0; //мы должны знать ID инфоблока каталога
    $custom_name = 'CUSTOM_TITLE'; //символьный код свойства для кастомного тайтла
    
    if(CModule::IncludeModule("iblock")){ 
    	foreach ($arResult['ITEMS'] as $key => $value) {
    		$link = $value['LINK']; //Допустим, что у нас ЧПУ вида /catalog/section_code
    		$section_code = str_replace('/catalog/', '', $link); //можно придумать что-то поизящнее, наверное
    
    		$dbSection = CIBlockSection::GetList(
    			array("SORT"=>"ASC"),
    			array(
    				"IBLOCK_ID" => $iblock_id,
    				"CODE" => $section_code
    				),
    			false,
    			array('PROPERTY_'.$custom_name)
    			);
    
    		if ($arSection = $dbSection->GetNext()){
    			$new_name = $arSection['PROPERTY_'.$custom_name.'_VALUE'];
    			$arResult['ITEMS'][$key]['NAME'] = $new_name;
    		}
    	}
    }


    Только делать это нужно не в result_modifier.php (бредкрамбс его не поддерживает), а прямо в коде template.php видимо.
    Ответ написан
    Комментировать