Добрый день,
Если Вы используете компоненты 2.0, то Вам надо катомизировать шаблон. И заменить след. строки:
[CODE]<?foreach($arWeek as $arDay):?>
<td align="left" valign="top" class='<?=$arDay["td_class"]?>' width="14%">
<span class="<?=$arDay["day_class"]?>"><?=$arDay["day"]?></span>
<?foreach($arDay["events"] as $arEvent):?>
<div class="NewsCalNews" style="padding-top:5px;"><?=$arEvent["time"]?><a href="<?=$arEvent["url"]?>" title="<?=$arEvent["preview"]?>"><?=$arEvent["title"]?></a></div>
<?endforeach;?>
</td>
<?endforeach?>[/CODE]
на
[CODE]<?foreach($arWeek as $arDay):?>
<?
if(count($arDay["events"])>0)
{
$link_day='<a href="/news/newsonday.php?date='.($isday=($arDay["day"]<10 && $arDay["day"]>0)?'0'.$arDay["day"]:$arDay["day"]).'.'.($ismonth=($arResult["currentMonth"]>0 && $arResult["currentMonth"]<10)?'0'.$arResult["currentMonth"]:$arResult["currentMonth"]).'.'.$arResult["currentYear"].'" title="Новости за '.$arDay["day"].'.'.$arResult["currentMonth"].'.'.$arResult["currentYear"].'">'.$arDay["day"].'</a>';
}
else
$link_day=$arDay["day"];
?>
<td align="left" valign="top" class='<?=$arDay["td_class"]?>' width="14%">
<span class="<?=$arDay["day_class"]?>"><?=$link_day?></span>
</td>
<?endforeach?>
[/CODE]
Где
[CODE]<a href="/news/newsonday.php?date='.($isday=($arDay["day"]<10 && $arDay["day"]>0)?'0'.$arDay["day"]:$arDay["day"]).'.'.($ismonth=($arResult["currentMonth"]>0 && $arResult["currentMonth"]<10)?'0'.$arResult["currentMonth"]:$arResult["currentMonth"]).'.'.$arResult["currentYear"].'"
[/CODE]
Должна быть ссылкой на страницу с компонентом новостей, который будет обрабадывать параметр $GET['date'], в котором будет содержаться дата(ДД.ММ.ГГГГ) и выводить новости за эту дату. Для этого вам еще придется кастомизировать или настроить под себя компонент вывода новостей.
А компонент вывода новостей можно модифицировать так:
найти строку
[CODE]$items = GetIBlockElementList($ID, $SECTION_ID, $SORT, $NEWS_COUNT, $Filter, $arSelect);[/CODE]
И заменить ее на
[CODE]if(count($getbydate=explode('.',$_REQUEST['date']))==3)
{
$arFilter=array("=DATE_ACTIVE_FROM"=>date($DB->DateFormatToPHP(CLang::GetDateFormat("SHORT")), mktime(0,0,0,$getbydate[1],$getbydate[0],$getbydate[2])));
}
else $arFilter=array();[/CODE]
где =DATE_ACTIVE_FROM означает что новость стала активной именно в этот день, более подробную информацию, по использованию значений фильтра вы можете найти здесь:
http://www.bitrixsoft.ru/bitrix/help/ru/source/iblock/help/ru/developer/filter.php.html
http://www.bitrixsoft.ru/bitrix/help/ru/source/iblock/help/ru/developer/functions/ getiblockelementlist.php.html
Если Вы используете компоненты 2.0, то Вам надо катомизировать шаблон. И заменить след. строки:
[CODE]<?foreach($arWeek as $arDay):?>
<td align="left" valign="top" class='<?=$arDay["td_class"]?>' width="14%">
<span class="<?=$arDay["day_class"]?>"><?=$arDay["day"]?></span>
<?foreach($arDay["events"] as $arEvent):?>
<div class="NewsCalNews" style="padding-top:5px;"><?=$arEvent["time"]?><a href="<?=$arEvent["url"]?>" title="<?=$arEvent["preview"]?>"><?=$arEvent["title"]?></a></div>
<?endforeach;?>
</td>
<?endforeach?>[/CODE]
на
[CODE]<?foreach($arWeek as $arDay):?>
<?
if(count($arDay["events"])>0)
{
$link_day='<a href="/news/newsonday.php?date='.($isday=($arDay["day"]<10 && $arDay["day"]>0)?'0'.$arDay["day"]:$arDay["day"]).'.'.($ismonth=($arResult["currentMonth"]>0 && $arResult["currentMonth"]<10)?'0'.$arResult["currentMonth"]:$arResult["currentMonth"]).'.'.$arResult["currentYear"].'" title="Новости за '.$arDay["day"].'.'.$arResult["currentMonth"].'.'.$arResult["currentYear"].'">'.$arDay["day"].'</a>';
}
else
$link_day=$arDay["day"];
?>
<td align="left" valign="top" class='<?=$arDay["td_class"]?>' width="14%">
<span class="<?=$arDay["day_class"]?>"><?=$link_day?></span>
</td>
<?endforeach?>
[/CODE]
Где
[CODE]<a href="/news/newsonday.php?date='.($isday=($arDay["day"]<10 && $arDay["day"]>0)?'0'.$arDay["day"]:$arDay["day"]).'.'.($ismonth=($arResult["currentMonth"]>0 && $arResult["currentMonth"]<10)?'0'.$arResult["currentMonth"]:$arResult["currentMonth"]).'.'.$arResult["currentYear"].'"
[/CODE]
Должна быть ссылкой на страницу с компонентом новостей, который будет обрабадывать параметр $GET['date'], в котором будет содержаться дата(ДД.ММ.ГГГГ) и выводить новости за эту дату. Для этого вам еще придется кастомизировать или настроить под себя компонент вывода новостей.
А компонент вывода новостей можно модифицировать так:
найти строку
[CODE]$items = GetIBlockElementList($ID, $SECTION_ID, $SORT, $NEWS_COUNT, $Filter, $arSelect);[/CODE]
И заменить ее на
[CODE]if(count($getbydate=explode('.',$_REQUEST['date']))==3)
{
$arFilter=array("=DATE_ACTIVE_FROM"=>date($DB->DateFormatToPHP(CLang::GetDateFormat("SHORT")), mktime(0,0,0,$getbydate[1],$getbydate[0],$getbydate[2])));
}
else $arFilter=array();[/CODE]
где =DATE_ACTIVE_FROM означает что новость стала активной именно в этот день, более подробную информацию, по использованию значений фильтра вы можете найти здесь:
http://www.bitrixsoft.ru/bitrix/help/ru/source/iblock/help/ru/developer/filter.php.html
http://www.bitrixsoft.ru/bitrix/help/ru/source/iblock/help/ru/developer/functions/