This is an old revision of the document!
$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:for-each select="years/year"> <xsl:sort select="." order="descending"/> <a href="?year={.}"> <xsl:if test="/informationsystem/year = ."> <xsl:attribute name="class">active</xsl:attribute> </xsl:if> <xsl:value-of select="."/></a> </xsl:for-each>