getPage для migxTv

Здравствуйте.

Вобщем есть процессор ничего нового portfolio/getdata найден здесь на форуме.

Немного подковырнул он теперь ищет tv.gallery в дочерних ресурсах и выводит и все картинки, все отлично все прекрасно работает, но картинок стало больше чем ожидалось и хотелось бы их как то лимитировать.

Как можно обернуть в getPage результат object.gallery, что то я попробовал сделать но потерялся в коде?

Подскажите будьте добры.

Comments

А на каком моменте потерялись и что собственно собираетесь делать? Привинтить getPage или использовать вариант Николая? Если первое, то вот http://www.createit.ru/blog/modx/2012/custom-snippet-with-getpage/, если второе, то стоит изучить, как используется вот это вот https://github.com/MODX-Club/ShopModxBox/blob/master/core/components/modxsite/templates/shopmodx/common/pagination/pagination.tpl https://github.com/MODX-Club/ShopModxBox/blob/master/core/components/modxsite/templates/shopmodx/common/list/list.tpl И где-то здесь есть статьи на тему пагинации, как в последних двух ссылках.

И было бы не плохо, если бы вы ссылку на свой процессор кинули. Ну, где подсмотрели. Так понятней будет, наверн.

Ссылка на процессор

Мне нужно обернуть в постраничность множество результатов migx от любого количества ресурсов.

пр. есть 3 ресурса в каждом migxTV имеет по 3 значения (картинки) мне надо разбить на страницы по 2 эл. 1 страница — 1.1 1.2 2 страница — 1.3 2.1 3 страница — 2.2 2.3 ну и т.д.

Т.е. как я понимаю процессор должен пройтись по всем ресурсам которые отвечают критерию, собирая значения TVname (если оно есть) в единый массив, а затем уже создать пагинацию для этого массива. либо, вернуть набор значений ресурсов (вдруг нам понадобится что то от них) и уже на ходу делать вывод постраничности.

На сколько я понял цепочку наследования, ваш процессор должен принимать (уже наследует это от родителей, писать в вашем ничего не нужно)

$limit = intval($this->getProperty('limit'));

и

$start = intval($this->getProperty('start'));

Могу ошибиться запросто. Попробуйте передать вашему процессору параметры лимит и старт, просто чтобы посмотреть, получает он их или нет. Что-то типа

'start' => 0,
'limit' => 20,

Или лучше даже только лимит. https://github.com/MODX-Club/ShopModxBox/blob/master/core/components/modxsite/templates/shopmodx/common/list/list.tpl#L10 'page' там вроде автоматически подставляется в родительском классе, его передавать не нужно. Просто смотрите как они на это реагируют. Приходит ли параметр $result.total. И если реагируют, то используйте pagination.tpl. Если все это сделали, то скажите, где застопорились. Ну, или скажите, что не реагируют тоже.

добрался ответить.

MisterN, спасибо. Через pagination.tpl получилось обернуть в нумирацию

'page' там вроде автоматически подставляется в родительском классе, его передавать не нужно.

Давно уже надо, так как получение данных из $_GET['page'] в процессоре много версий назад убрано, ибо глобальная видимость — не круто. Передаем в вызов «page» => (int)$smarty.get.page

Ну, если в расширяющем процессоре написали получение этих данных, то значит они будут. Базовые процессоры из modxSite больше их не учитывают.