magr0s 15 апреля 2015 1 8
Здравствуйте.
Вобщем есть процессор ничего нового portfolio/getdata найден здесь на форуме.
Немного подковырнул он теперь ищет tv.gallery в дочерних ресурсах и выводит и все картинки, все отлично все прекрасно работает, но картинок стало больше чем ожидалось и хотелось бы их как то лимитировать

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

подскажите будьте добры.
8 комментариев
M
MisterN 15 апреля 2015г в 08:41 #
А на каком моменте потерялись и что собственно собираетесь делать? Привинтить 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
И где-то здесь есть статьи на тему пагинации, как в последних двух ссылках.
M
MisterN 15 апреля 2015г в 08:43 #
И было бы не плохо, если бы вы ссылку на свой процессор кинули. Ну, где подсмотрели. Так понятней будет, наверн.
m
magr0s 15 апреля 2015г в 09:00 #
Ссылка на процессор

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

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

Т.е. как я понимаю процессор должен пройтись по всем ресурсам которые отвечают критерию, собирая значения TVname (если оно есть) в единый массив, а затем уже создать пагинацию для этого массива.
либо, вернуть набор значений ресурсов (вдруг нам понадобится что то от них) и уже на ходу делать вывод постраничности.
M
MisterN 15 апреля 2015г в 09:48 #
На сколько я понял цепочку наследования, ваш процессор должен принимать (уже наследует это от родителей, писать в вашем ничего не нужно)
$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. Если все это сделали, то скажите, где застопорились. Ну, или скажите, что не реагируют тоже.
Fi1osof1
Fi1osof 20 апреля 2015г в 14:57 #
'page' там вроде автоматически подставляется в родительском классе, его передавать не нужно.
Давно уже надо, так как получение данных из $_GET['page'] в процессоре много версий назад убрано, ибо глобальная видимость — не круто.
Передаем в вызов «page» => (int)$smarty.get.page
M
MisterN 20 апреля 2015г в 18:26 #
Я смотрел по ссылке, которую magr0s давал. Там его процессор modWebGetdataProcessor_original вроде наследует, в котором пэйдж задается. Но моя ошибатцо вполне может
gist.github.com/Fi1osof/2baa14a8ed86b1226253#file-gistfile1-php-L24
Fi1osof1
Fi1osof 20 апреля 2015г в 18:28 #
Ну, если в расширяющем процессоре написали получение этих данных, то значит они будут. Базовые процессоры из modxSite больше их не учитывают.
m
magr0s 20 апреля 2015г в 09:39 #
добрался ответить.

MisterN, спасибо. Через pagination.tpl получилось обернуть в нумирацию
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.