Как допилить добавление собственного параметра в компонент битрикс?

Всё это нужно чтобы чтобы связывать новости с календарём события, тыкаю дату месяц и внизу лента новостей.
Проблема в том, что умолчанию нельзя задать т.к. она задаётся самим инфоблоком.
https://dev.1c-bitrix.ru/learning/course/?COURSE_I...

было
fe34838ddc5d49d6b1a4514ddb2ff6cb.png

стало
bd60e83ef97348c3834de6dcf08ed871.png

Дата события(DATA_SOBYTIYA) это свойство

Вывожу свойсво в компоненте
//вывожу дату
  $IBLOCK_ID = intval($arParams['IBLOCK_ID']);
  //print $IBLOCK_ID;
  if(!CModule::IncludeModule("iblock"))
    die('iblock module is not included!');
  $arSort = Array("SORT"=>"ASC", "NAME"=>"ASC");
  $arSelect = Array("ID","NAME","PROPERTY_DATA_SOBYTIYA");
  $arFilterDate = Array(
    "IBLOCK_ID" => $IBLOCK_ID,
    "ACTIVE" => "Y", 
    ">=DATE_ACTIVE_FROM" => $curdate, 
    "!PROPERTY" => array('DATA_SOBYTIYA' => array('VALUE' => false)), 
    "<=DATE_ACTIVE_FROM" => $curdatelast
  );
  $obIBlockResult = CIBlockElement::GetList($arSort, $arFilter, false, false, $arSelect);
  $arFilter = $obIBlockResult->GetNext();
  $sDateEventsCustom = "12.09.2016";//$arFilterDate["PROPERTY_DATA_SOBYTIYA_VALUE"]


$sDateEventsCustom - сюда я как-то должен передавать свойство DATA_SOBYTIYA и выводить на его основе события

Фильтр который работает на самой странице - $arFilterDate["PROPERTY_DATA_SOBYTIYA_VALUE"]

Передаю дату события событиям
$arDay["events"][] = array(
						"time"=>$eTime,
						"url"=>$dayNews["DETAIL_PAGE_URL"],
						"title"=>$title,
						"preview"=>$sTitle,
						"DATA_SOBYTIYA"=>$sDateEventsCustom,//свойство должно что-то передавать 
						//"property"=>$sProperty,//свойство должно что-то передавать
						$arParams["DATE_FIELD"]=>$dayNews[$arParams["DATE_FIELD"]],
					);


Событие в вардампе
array(1) {
  [0]=&gt;
  array(5) {
    ["time"]=&gt;
    string(11) "19:17&nbsp;"
    ["url"]=&gt;
    string(56) "/dsaf/asfdfa/"
    ["title"]=&gt;
    string(92) "авывыфавы"
    ["DATA_SOBYTIYA"]=&gt;
    string(190) "выаыфва.."
    ["DATE_ACTIVE_FROM"]=&gt;
    string(19) "18.06.2016 19:17:00"
  }
}


.parameters.php
$arDATE_FIELD = Array(
	"DATE_ACTIVE_FROM" => "[DATE_ACTIVE_FROM] ".GetMessage("T_IBLOCK_DESC_CAL_DATE_ACTIVE_FROM"),
	"DATE_ACTIVE_TO" => "[DATE_ACTIVE_TO] ".GetMessage("T_IBLOCK_DESC_CAL_DATE_ACTIVE_TO"),
	"TIMESTAMP_X" => "[TIMESTAMP_X] ".GetMessage("T_IBLOCK_DESC_CAL_TIMESTAMP_X"),
	"DATE_CREATE" => "[DATE_CREATE] ".GetMessage("T_IBLOCK_DESC_CAL_DATE_CREATE"),
	"DATA_SOBYTIYA" => "[DATA_SOBYTIYA] ".GetMessage("T_IBLOCK_DESC_DATA_SOBYTIYA"),
	);


template.php самого календаря
<?
//здесь я пропарсил url на основе его выводится текущая дата 
?>

<?foreach($arResult["MONTH"] as $arWeek):?>
			<tr>
				<?foreach($arWeek as $arDay):?>
				<td class='calendar-date'>
				<? $fulldatecal = $arDay["day"].".".$currentMonth.".".$currentYear;//дата дней в календаре?>
						<?echo "<pre style='font-size:0'>"; var_dump($arDay["events"]);echo "</pre>";?>						
				    <?echo "<p style='font-size:0'>".$arDay["events"][0]["DATA_SOBYTIYA"]."</p>";?>					
				    <?echo "<p style='font-size:0'>".count($arDay["events"][0]["DATA_SOBYTIYA"])."</p>";?>
					<?if(count($arDay["events"])>0):?>
						<a title="<?=$arDay["events"][0]["title"]?>" 
							href="/calendar/<?=$arResult["currentYear"]?>/<?=$arResult["currentMonth"]?>/<?=$arDay["day"]?>/" 
							name="<?=$arDay["events"][0]["DATA_SOBYTIYA"]?>" 
							class="event-link"><?=$arDay["day"]?></a>
						<?//}?>	
					<?else:?>						
						<span name="<?=$arDay["events"][0]["DATA_SOBYTIYA"]?>" title="<?=$fulldatecal?>"><?=$arDay["day"]?></span>
					<?endif;?>
				</td>
				<?endforeach?>
			</tr >
		<?endforeach?>
  • Вопрос задан
  • 772 просмотра
Решения вопроса 1
cimonlebedev
@cimonlebedev Автор вопроса
долго объяснять в общем сам решил
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы