Ну, например вот так пробовал:
$Informationsystem_Controller_Show
->xsl(
Core_Entity::factory('Xsl')->getByName($xslName)
)
->groupsMode('all')
->itemsProperties(TRUE)
->groupsProperties(TRUE)
->limit(20)
->show();
В xml-то выбирается 20 элементов - тут все верно, но далее происходят странности...
Дело в том, что оно в xml приходит как значение, которое используется для условия выводить или нет ссылки на следующие страницы
<xsl:if test="total > 0 and limit > 0">
и тем самым становится непонятен вообще смысл limit(), ибо по-сути, оно выполняет тоже самое, что и items_on_page. Я предпологал, что если задать limit в запросе, то в xml придут данные с учетом ограничений Т.е. total будет равен макс. выбранному кол-ву элементов. Если в системе всего 51 элемент, то поставив limit(в 40) я расчитывал получить в xml total = 40, сгенерить 1 страницу и ссылку на следующую (исходя из формулы total/items_on_page...) А по факту имеем сейчас total = томуже кол-ву, что и без указания limit(), а сам limit работает как ограничение по элементам на странице..
Проправьте меня если это не так, но в xsl-шаблон в раздел пагинации я до сегодня руки не запускал свои...
Проблему я решил заменой значения "ОтображатьСсылкиНаСледующиеСтраницы" на 0 когда это нужно.