Как дать ссылку учитывая пагинацию?
На многих форумах есть такая фишка: ссылка на сообщение (комментарий) на n-ой странице.
Как можно рассчитать страницу при пагинации комментариев в Tickets и дать ссылку на конкретный комментарий?
То есть чтобы было что-то вроде ?page=3#comment-333 или ?page=3&comment=333. Везде на форумах при клике на сообщение даётся ссылка с учётом пагинации, например /page-3#entry11134810.
Или вот ещё: как рассчитать количество страниц в пагинации и дать на них ссылки?
Вот скрин такого использования ссылок на форумах с учётом пагинации:
Как можно рассчитать страницу при пагинации комментариев в Tickets и дать ссылку на конкретный комментарий?
То есть чтобы было что-то вроде ?page=3#comment-333 или ?page=3&comment=333. Везде на форумах при клике на сообщение даётся ссылка с учётом пагинации, например /page-3#entry11134810.
Или вот ещё: как рассчитать количество страниц в пагинации и дать на них ссылки?
Вот скрин такого использования ссылок на форумах с учётом пагинации:
Поблагодарить автора
Отправить деньги
Комментарии: 12
<a href="{текущая строка запроса}#{id комментария}">#</a>
или я не понял в чем проблема заключается…
Представь себе что тут в сообществе комментарии не одной длинной простынёй, а как на форумах, по 20 на страницу. Допустим в популярной теме уже 10 страниц комментариев. Какую ссылку на последний комментарий давать в правом блоке комментарии?
Вот твой комментарий сейчас имеет ссылку modx.pro/help/11894/#comment-79375, а как дать на него ссылку, если бы комментарии были разбиты на пагинацию и он оказался бы на 3-й странице к примеру? Как понять что он именно на 3-й странице, чтобы дать верную ссылку, ведь в ссылку нужно прописать get ?page=3?
Вот твой комментарий сейчас имеет ссылку modx.pro/help/11894/#comment-79375, а как дать на него ссылку, если бы комментарии были разбиты на пагинацию и он оказался бы на 3-й странице к примеру? Как понять что он именно на 3-й странице, чтобы дать верную ссылку, ведь в ссылку нужно прописать get ?page=3?
modx.pro/help/11894/#comment-79375Ты переходишь по ссылке modx.pro/help/11894/, сервер начинает формировать страницу…
Каждый комментарий выводится в цикле. У каждого комментария есть свой ID.
Вот к этой ссылке, по которой перешел, добавляешь #comment-id
Какую ссылку на последний комментарий давать в правом блоке комментарии?Для этого тебе нужно знать общее количество комментариев в теме и кол-во отображаемых на 1й странице.
Получаешь общее кол-во страниц. Логично, что последний комментарий будет на последней странице. Формируешь ссылку
page=общее_количество_страниц#id_последнего_комментария.
Или вопрос — как сделать это на Tickets?
Да на Tickets тот же принцип.
Значит нужно просто количество комментариев разделить на количество комментариев на странице.
Если меньше 1, то не выводим ссылку на пагинацию.
Ок, спасибо за подсказку, мне формулу нужно было просто обдумать…
Значит нужно просто количество комментариев разделить на количество комментариев на странице.
Если меньше 1, то не выводим ссылку на пагинацию.
Ок, спасибо за подсказку, мне формулу нужно было просто обдумать…
В который раз убеждаюсь, что все гениальное просто
Ага.
Вспомнилась злободневная шутка:
Расшифруй: "одтчпшсвдд". Эту загадку никогда не разгадает профессор, возможно когда-то учитель, долго будет думать студент, не сразу отгадает старшеклассник, но моментально даст ответ первоклашка.
Ответ: "один два три четыре пять шесть семь восемь девять десять".
Вывод: чем мы больше знаем, тем меньше видим очевидное…
Вспомнилась злободневная шутка:
Расшифруй: "одтчпшсвдд". Эту загадку никогда не разгадает профессор, возможно когда-то учитель, долго будет думать студент, не сразу отгадает старшеклассник, но моментально даст ответ первоклашка.
Ответ: "один два три четыре пять шесть семь восемь девять десять".
Вывод: чем мы больше знаем, тем меньше видим очевидное…
Тоже этот вопрос интересует. Сначала обрадовался, что в pdoPage есть плейсхолдер pageCount, но потом понял, что он работает только для текущей пагинации и генерируется на лету при выполнении сниппета. Так что… единственный вариант, который я вижу — создавать ТВ, в которую при выполнении pdoPage загружать параметр из
&pageCountVar pageCount Имя плейсхолдера для вывода количества страниц.Потом уже выбирать ТВ-шку и добавлять к ссылке. В теории должно работать. На практике реализовать — знаний не хватило.
Тоже думал вначале в твоём направлении. Сейчас же рассматриваю вариант самому рассчитать количество страниц, зная количество выводимых на странице, по идее это должно быть не сложно на fenom, максимум написать маленький сниппет-модификатор.
Ну, да. Теперь и у меня глаза открылись. В modx уже встроены модификаторы математических операций, добавить фильтр на вывод целого числа и все готово.
еще есть вот такой встроенный способ формирования ссылок
[[~123? &par1=`val1` &par2=`val2`]]
Может пригодится…
Да, спасибо, очень полезное замечание!
На феноме:
На феноме:
{10 | url : ['scheme' => 'full'] : ['param' => 'value']}
Спасибо!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.