Сниппет articles - ссылки на соседние статьи
Всем привет!
Тут на днях столкнулся с проблемой: есть сайт (mot...ect.com), в нем 2 раздела: новости и статьи, оба организованы в формате блога с помощью сниппета articles. Появилась задача: нужно в каждой статье и в каждой новости, после основного контента, поставить ссылки, типа — «предыдущая новость» «следующая новость».
Я 2 дня рыл modx и гугл, толку ноль! Так понимаю, что у articles нет встроенного плейсхолдера для этой задачи… хотел наваять простенький сниппет, который будет возвращать ссылку по ID текущей страницы +, — 1, да вот незадача: все ресурсы от articles упрятаны в один контейнер, у каждого есть свой ID, но идентификаторы присваиваются статьям/новостям по времени их добавления! То есть, если последняя добавл.новость имеет id = 300, а статья — 295, то — если добавляем статью — ей присваивается id=301, а не 296… получается, что все ресурсы articles валятся в общую кучу, но в каждой из них есть своя метка принадлежности своему контейнеру… я так это понял!
К сожалению, pdotools не годится для этой задачи: проблема с настройкой сервера хостинга…
Пытался с помощью getResurces вывести — указав родительский контейнер, не могу сообразить как поставить сортировку (или фильтр), чтобы выводил соседние ресурсы…
Друзья, подскажите, в какую сторону глядеть??? Я в MODx новичок, система очччень нравится, огромное желание её освоить! Пока, к сожалению, пытаюсь набираться опыта у более взрослых коллег…
С уважением, Алексей.
Тут на днях столкнулся с проблемой: есть сайт (mot...ect.com), в нем 2 раздела: новости и статьи, оба организованы в формате блога с помощью сниппета articles. Появилась задача: нужно в каждой статье и в каждой новости, после основного контента, поставить ссылки, типа — «предыдущая новость» «следующая новость».
Я 2 дня рыл modx и гугл, толку ноль! Так понимаю, что у articles нет встроенного плейсхолдера для этой задачи… хотел наваять простенький сниппет, который будет возвращать ссылку по ID текущей страницы +, — 1, да вот незадача: все ресурсы от articles упрятаны в один контейнер, у каждого есть свой ID, но идентификаторы присваиваются статьям/новостям по времени их добавления! То есть, если последняя добавл.новость имеет id = 300, а статья — 295, то — если добавляем статью — ей присваивается id=301, а не 296… получается, что все ресурсы articles валятся в общую кучу, но в каждой из них есть своя метка принадлежности своему контейнеру… я так это понял!
К сожалению, pdotools не годится для этой задачи: проблема с настройкой сервера хостинга…
Пытался с помощью getResurces вывести — указав родительский контейнер, не могу сообразить как поставить сортировку (или фильтр), чтобы выводил соседние ресурсы…
Друзья, подскажите, в какую сторону глядеть??? Я в MODx новичок, система очччень нравится, огромное желание её освоить! Пока, к сожалению, пытаюсь набираться опыта у более взрослых коллег…
С уважением, Алексей.
Комментарии: 10
Если articles использует в качестве статей стандартные ресурсы MODX, то должно подойти это:
siblingNav — документация
siblingNav — репозиторий
siblingNav — документация
siblingNav — репозиторий
Павел, преогромное Вам спасибище!))) Выручили…
Собственно, я практически был уверен, что должен существовать такой простенький скрипт, но —
как ни странно — облазив гугл-яндекс, ничего похожего на этот вариант не получил в поисковой выдаче!
Собственно, я практически был уверен, что должен существовать такой простенький скрипт, но —
как ни странно — облазив гугл-яндекс, ничего похожего на этот вариант не получил в поисковой выдаче!
Обращайтесь :)
Надоумьте, пожалуйста!
Сделал внизу каждой статьи блок ссылок в виде маркированного списка: строка-ссылка на следующую статью, строка с названием текущей статьи, 2 строки-ссылки на две предыдущие статьи… moto.proff-site.ru/news/akcziya_maks_min_snegohody_20140115
Все работает, вот только 2 строки на 2 предыдущие новости выводятся в обратном порядке: 3 сверху идет более ранняя новость, а 4 строкой выводится более свежая… как можно изменить порядок вывода именно этих двух строк? Вариант sortBy в параметрах вызова сниппета не срабатывает…
Вот сам вызов:
snnexttpl
Сделал внизу каждой статьи блок ссылок в виде маркированного списка: строка-ссылка на следующую статью, строка с названием текущей статьи, 2 строки-ссылки на две предыдущие статьи… moto.proff-site.ru/news/akcziya_maks_min_snegohody_20140115
Все работает, вот только 2 строки на 2 предыдущие новости выводятся в обратном порядке: 3 сверху идет более ранняя новость, а 4 строкой выводится более свежая… как можно изменить порядок вывода именно этих двух строк? Вариант sortBy в параметрах вызова сниппета не срабатывает…
Вот сам вызов:
<ul>
[[!siblingNav?
&showHidden=`1`
&prevTpl=`snprevtpl`
&limit=`2`
&nextTpl=`snnexttpl`
&selfTpl=`snselftpl`
]]
[[+sn.next]][[+sn.self]][[+sn.prevlinks]]
</ul>
Вот чанки:snnexttpl
[[+_isactive:is=`1`:then=`<li>
<a href="[[~[[+id]]]]">[[+pagetitle]]</a></li>
`:else=``]]
snprevtpl[[+_isactive:is=`1`:then=`<li>
<a href="[[~[[+id]]]]">[[+pagetitle]]</a></li>
`:else=`
<
`]]
snselftpl<li class="snself">
[[+pagetitle]]
</li>
Заранее спасибо!
Вроде, разобрался!
Исправил вызов сниппета и последовательность вызова плейсхолдеров — заработало…
Исправил вызов сниппета и последовательность вызова плейсхолдеров — заработало…
<ul>
[[!siblingNav?
&showHidden=`1`
&prevTpl=`snprevtpl`
&limit=`2`
&nextTpl=`snnexttpl`
&selfTpl=`snselftpl`
&sortBy=`{"menuindex":"DESC"}`
]]
[[+sn.prev]][[+sn.self]][[+sn.nextlinks]]
</ul>
Можно ещё попробовать снипет pdoNeighbors из pdoTools
Простите, сразу не увидел что он вам не подходит
а вы вовремя ответили) не прошло и года…
прям прямой смысл получился…
прям прямой смысл получился…
Ну может за это время проблема с хостингом завершилась и pdoTools удалось поставить)))
Нет, Дмитрий, хостинг, к сожалению, так же туп и невосприимчив к разработкам Василия.
Я жду сигнала хозяина, который практически созрел для переноса сайта на другой — более «правильный» — хостинг.
Я жду сигнала хозяина, который практически созрел для переноса сайта на другой — более «правильный» — хостинг.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.