14 апр. 2015 г., 21:01

getPage для migxTv

Здравствуйте. Вобщем есть процессор ничего нового portfolio/getdata найден здесь на форуме. Немного подковырнул он теперь ищет tv.gallery в дочерних ресурсах и выводит и все картинки, все отлично все прекрасно работает, но картинок стало больше чем ожидалось и хотелось бы их как то лимитировать
как можно обернуть в getPage результат object.gallery что то я попробовал сделать но потерялся в коде (
подскажите будьте добры.
А на каком моменте потерялись и что собственно собираетесь делать? Привинтить getPage или использовать вариант Николая? Если первое, то вот www.createit.ru/blog/modx/2012/custom-snippet-with-getpage/, если второе, то стоит изучить, как используется вот это вот github.com/MODX-Club/ShopModxBox/blob/master/core/components/modxsite/templates/shopmodx/common/pagination/pagination.tpl 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,
Или лучше даже только лимит. 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
Я смотрел по ссылке, которую magr0s давал. Там его процессор modWebGetdataProcessor_original вроде наследует, в котором пэйдж задается. Но моя ошибатцо вполне может gist.github.com/Fi1osof/2baa14a8ed86b1226253#file-gistfile1-php-L24
Ну, если в расширяющем процессоре написали получение этих данных, то значит они будут. Базовые процессоры из modxSite больше их не учитывают.

Добавить комментарий