Сниппет articles - ссылки на соседние статьи

Всем привет!

Тут на днях столкнулся с проблемой: есть сайт (mot...ect.com), в нем 2 раздела: новости и статьи, оба организованы в формате блога с помощью сниппета articles. Появилась задача: нужно в каждой статье и в каждой новости, после основного контента, поставить ссылки, типа — «предыдущая новость» «следующая новость».

Я 2 дня рыл modx и гугл, толку ноль! Так понимаю, что у articles нет встроенного плейсхолдера для этой задачи… хотел наваять простенький сниппет, который будет возвращать ссылку по ID текущей страницы +, — 1, да вот незадача: все ресурсы от articles упрятаны в один контейнер, у каждого есть свой ID, но идентификаторы присваиваются статьям/новостям по времени их добавления! То есть, если последняя добавл.новость имеет id = 300, а статья — 295, то — если добавляем статью — ей присваивается id=301, а не 296… получается, что все ресурсы articles валятся в общую кучу, но в каждой из них есть своя метка принадлежности своему контейнеру… я так это понял!

К сожалению, pdotools не годится для этой задачи: проблема с настройкой сервера хостинга…

Пытался с помощью getResurces вывести — указав родительский контейнер, не могу сообразить как поставить сортировку (или фильтр), чтобы выводил соседние ресурсы…

Друзья, подскажите, в какую сторону глядеть??? Я в MODx новичок, система очччень нравится, огромное желание её освоить! Пока, к сожалению, пытаюсь набираться опыта у более взрослых коллег…

С уважением, Алексей.
Alexey
14 августа 2015, 20:47
modx.pro
2 879
0

Комментарии: 10

Павел Ширяев
15 августа 2015, 12:56
+1
Если articles использует в качестве статей стандартные ресурсы MODX, то должно подойти это:

siblingNav — документация

siblingNav — репозиторий
    Alexey
    15 августа 2015, 19:44
    0
    Павел, преогромное Вам спасибище!))) Выручили…

    Собственно, я практически был уверен, что должен существовать такой простенький скрипт, но —
    как ни странно — облазив гугл-яндекс, ничего похожего на этот вариант не получил в поисковой выдаче!
    Alexey
    17 августа 2015, 00:48
    0
    Надоумьте, пожалуйста!

    Сделал внизу каждой статьи блок ссылок в виде маркированного списка: строка-ссылка на следующую статью, строка с названием текущей статьи, 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>
    Заранее спасибо!
      Alexey
      17 августа 2015, 12:17
      0
      Вроде, разобрался!

      Исправил вызов сниппета и последовательность вызова плейсхолдеров — заработало…

      <ul>
      [[!siblingNav? 
         &showHidden=`1`
         &prevTpl=`snprevtpl`
         &limit=`2`
         &nextTpl=`snnexttpl`
         &selfTpl=`snselftpl`
         &sortBy=`{"menuindex":"DESC"}`
      ]]
      [[+sn.prev]][[+sn.self]][[+sn.nextlinks]]
      </ul>
        Дмитрий Куликов
        10 июня 2016, 12:22
        0
        Можно ещё попробовать снипет pdoNeighbors из pdoTools
          Дмитрий Куликов
          10 июня 2016, 12:24
          0
          Простите, сразу не увидел что он вам не подходит
            Здоров Александр
            10 июня 2016, 13:19
            0
            а вы вовремя ответили) не прошло и года…
            прям прямой смысл получился…
              Дмитрий Куликов
              10 июня 2016, 13:21
              0
              Ну может за это время проблема с хостингом завершилась и pdoTools удалось поставить)))
                Alexey
                10 июня 2016, 16:27
                0
                Нет, Дмитрий, хостинг, к сожалению, так же туп и невосприимчив к разработкам Василия.

                Я жду сигнала хозяина, который практически созрел для переноса сайта на другой — более «правильный» — хостинг.
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          10