Sign in to follow this  
sigma77

Компонент furniture.vacancies и доп. свойство

Recommended Posts

Добрый день,

 

Есть стандартный битриксовый компонент furniture.vacancies, который имеет соответствующий код http://jsfiddle.net/fainz777/0ymga8vt/

Что в нем необходимо дописать, чтобы он начал выводить дополнительно заданные свойства?

Пробовала сделать по ананалогии с news.list, но там совсем другая структура и у меня не вышло (

 

Спасибо.

Share this post


Link to post
Share on other sites

полагаю что тебе нужно что-то типа того: http://dev.1c-bitrix.ru/support/forum/forum6/topic55488/

только твоя переменная будет скорее всего: $arFilter, так как она по идее содержит пользовательские поля.

Share this post


Link to post
Share on other sites

вот, смотри, это работает:

<?$arSelect = Array("ID", "IBLOCK_ID", "NAME", "DATE_ACTIVE_FROM","PROPERTY_*");//IBLOCK_ID и ID обязательно должны быть указаны, см. описание arSelectFields выше$arFilter = Array("IBLOCK_ID"=>IntVal(1), "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y");$res = CIBlockElement::GetList(Array(), $arFilter, false, Array(), $arSelect);while($ob = $res->GetNextElement()){  $arFields = $ob->GetFields();  print_r($arFields); $arProps = $ob->GetProperties();echo '<pre>'; print_r($arProps); echo '</pre>';}?>

это вставляешь в сам шаблон (правда не знаю на сколько это правильно, ведь подобные вещи принято делать в  result_modifier.php).

единственное что я не понял, это как получить IBLOCK_ID"=>IntVal(1) ? я там 1 поставил, т.к. у меня этот инфоблок под этим id.

Share this post


Link to post
Share on other sites

Заработало! Спасибо!  :yahoo:

<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();if(!CModule::IncludeModule("iblock"))	return;//prepare params$arParams['IBLOCK_ID'] = intval($arParams['IBLOCK_ID']);if($arParams['IBLOCK_ID']<=0)	return;$arParams["DETAIL_URL"] = trim($arParams["DETAIL_URL"]);if(isset($arParams["IBLOCK_TYPE"]) && $arParams["IBLOCK_TYPE"]!='')	$arFilter['IBLOCK_TYPE'] = $arParams["IBLOCK_TYPE"];if(!isset($arParams["CACHE_TIME"]))	$arParams["CACHE_TIME"] = 36000000;//SELECT$arSelect = Array(	"ID",	"IBLOCK_ID",	"NAME",	"IBLOCK_SECTION_ID",	"PREVIEW_TEXT_TYPE",	"PREVIEW_TEXT",	"DETAIL_TEXT_TYPE",	"DETAIL_TEXT",	"PROPERTY_*");//WHERE$arFilter = Array(	'IBLOCK_ID' => $arParams["IBLOCK_ID"],	'ACTIVE' => 'Y',	'IBLOCK_ACTIVE' => 'Y',);//ORDER BY$arOrder = Array(	'SORT' => 'ASC',	'ID' => 'DESC',);$arAddCacheParams = array(	"MODE" => $_REQUEST['bitrix_show_mode']?$_REQUEST['bitrix_show_mode']:'view',	"SESS_MODE" => $_SESSION['SESS_PUBLIC_SHOW_MODE']?$_SESSION['SESS_PUBLIC_SHOW_MODE']:'view',);//**work body**//if($this->StartResultCache(false, array(($arParams["CACHE_GROUPS"]==="N"? false: $USER->GetGroups()), $arFilter, $arAddCacheParams))){	$arResult['ITEMS'] = Array();	$arItems = CIBlockElement::GetList($arOrder, $arFilter, false, false, $arSelect);	$res = CIBlockElement::GetList(Array(), $arFilter, false, Array(), $arSelect);	while($ob = $res->GetNextElement()){ 		$arFields = $ob->GetFields();  		$arProps = $ob->GetProperties();		$arFields['CUSTOM_FIELDS'] = $arProps;		$arResult['ITEMS'][] = $arFields;	}	if(count($arResult['ITEMS'])<=0)	{		$this->AbortResultCache();		@define("ERROR_404", "Y");		return;	}	//include template	$this->IncludeComponentTemplate();}if($USER->IsAuthorized()){	if(		$APPLICATION->GetShowIncludeAreas()		|| $arParams["SET_TITLE"]		|| isset($arResult[$arParams["BROWSER_TITLE"]])	)	{		if(CModule::IncludeModule("iblock"))		{						$arButtons = CIBlock::GetPanelButtons($arParams["IBLOCK_ID"], 0, $arParams["SECTION_ID"]);			foreach ($arButtons as $key => $arButton){				unset($arButtons[$key]['add_section']);				unset($arButtons[$key]['edit_section']);				unset($arButtons[$key]['delete_section']);  			}			if($APPLICATION->GetShowIncludeAreas())				$this->AddIncludeAreaIcons(CIBlock::GetComponentMenu($APPLICATION->GetPublicShowMode(), $arButtons));		}	}}?>

Share this post


Link to post
Share on other sites

отдельная папка - ты имеешь ввиду пространство имен?

т.е. в /bitrix/components создала папку рядом с папкой bitrix?

да, так тоже можно в принципе :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Member Statistics

    46,379
    Total Members
    3,128
    Most Online
    Petronne
    Newest Member
    Petronne
    Joined
  • Recently Browsing   0 members

    No registered users viewing this page.