====== Фильтрация по годам ======
- Вставляем код решения в ТДС перед вызовом метода show():$oCore_QueryBuilder_Select = Core_QueryBuilder::select("extract( year from datetime) as res" )
->from('informationsystem_items')
->where('informationsystem_id', '=', Core_Array::get(Core_Page::instance()->libParams, 'informationsystemId'))
->where('informationsystem_group_id', '=', $Informationsystem_Controller_Show->group)
->where('active', '=', 1)
->where('deleted', '=', 0)
->groupby('res')
;
$aYears = $oCore_QueryBuilder_Select->execute()->asAssoc()->result();
$yearsXML = Core::factory('Core_Xml_Entity')->name('years');
foreach ($aYears as $aYear)
{
$yearsXML->addEntity(
Core::factory('Core_Xml_Entity')
->name('year')->value($aYear['res'])
);
}
$Informationsystem_Controller_Show->addEntity($yearsXML);
// /KAD
// KAD: фильтрация по годам
$year = (int)Core_Array::getGet("year", 0);
if ($year)
{
$datefrom = $year . "-01-01 00:00:00";
$dateto = ($year+1) . "-01-01 00:00:00";
if (!$Informationsystem_Controller_Show->item)
{
$Informationsystem_Controller_Show->informationsystemItems()->queryBuilder()
->where('datetime', '>', $datefrom)
->where('datetime', '<', $dateto);
$Informationsystem_Controller_Show->addEntity(Core::factory('Core_Xml_Entity')->name('year')->value($year));
}
}
- В xsl там где нужен вывод годов, вставляем код:
active