This is an old revision of the document!
Для реализации пагинации для групп ИС:
$oInformationsystemGroups = $Informationsystem_Controller_Show->informationsystemGroups(); $page = Core_Array::getGet('page',1); $limit = 5; //Лимит групп на странице $oInformationsystemGroups->getTableColums(); $oInformationsystemGroups->queryBuilder() ->sqlCalcFoundRows() ->limit($limit) ->offset(($page - 1) * $limit); $aoInformationsystemGroups = $oInformationsystemGroups->findAll(); $row = Core_QueryBuilder::select(array('FOUND_ROWS()', 'count')) ->execute() ->asAssoc() ->current(); $total = $row['count'];//подсчитываем кол-во групп ис foreach ($aoInformationsystemGroups as $oInformationsystemGroup) { $Informationsystem_Controller_Show ->addEntity($oInformationsystemGroup ->showXmlProperties(TRUE) ) ->addEntity( Core::factory('Core_Xml_Entity') //в xml записываем кол-во групп что бы потом ->name('gtotal')->value($total) //можно было в xsl воспользоваться этими данными ) ->addEntity( Core::factory('Core_Xml_Entity') // лимит групп ->name('glimit')->value($limit) ) ->addEntity( Core::factory('Core_Xml_Entity') ->name('gpage')->value($page - 1) ); }
<xsl:if test="/informationsystem/group = 0"> //условие что бы не выводить пагинацию групп внутри группы. <xsl:call-template name="for"> <xsl:with-param name="limit" select="glimit"/> //передаем параметры которые задали в тдс <xsl:with-param name="page" select="gpage"/> <xsl:with-param name="items_count" select="gtotal"/> <xsl:with-param name="i" select="$i"/> <xsl:with-param name="post_count_page" select="$post_count_page"/> <xsl:with-param name="pre_count_page" select="$pre_count_page"/> <xsl:with-param name="visible_pages" select="$real_visible_pages"/> </xsl:call-template> </xsl:if>
Страницу создал Вадим Гринев 07.09.16 в 16:18