Для решения данной задачи мы можем использовать плагин Ditto или Doclister совместно с кодом MODX.
Первым делом, убедитесь, что у вас установлен и активирован один из плагинов Ditto или Doclister. Затем создайте новую страницу или откройте существующую страницу для редактирования в режиме кода.
Для вывода последней опубликованной статьи воспользуйтесь следующим кодом на странице MODX:
[[!Ditto? &parents=`[[*id]]` &sortBy=`publishedon` &sortDir=`DESC` &limit=`1` ]]
В этом коде мы используем плагин Ditto и его параметры для получения последней опубликованной статьи на текущей странице MODX. Значение [[*id]]
заменяется на идентификатор текущей страницы.
Далее, для вывода двух случайных статей, не включая первую статью, используйте следующий код:
[[!Ditto? &parents=`[[*id]]` &excludeDocs=`[[+ditto.id]]` &sortBy=`RAND()` &limit=`2` ]]
В этом коде мы снова используем плагин Ditto и его параметры. Параметр excludeDocs
используется для исключения первой статьи, полученной ранее. Параметр sortBy
устанавливает случайный порядок отображения статей.
Если вы предпочитаете использовать плагин Doclister, код будет немного отличаться. Вы можете использовать следующий код:
[[!DocLister? &parents=`[[*id]]` &orderBy=`createdon` &sortby=`DESC` &tpl=`@CODE:[[+pagetitle]]` &limit=`1` ]]
Для вывода двух случайных статей, не включая первую, используйте следующий код:
[[!DocLister? &parents=`[[*id]]` &idType=`parent` &display=`random` &tpl=`@INLINE <li>[[+pagetitle]]</li>` &limit=`2` ]]
Обратите внимание, что параметр idType
устанавливается в значение "parent", чтобы выводить статьи только родительской страницы.
Отредактируйте и адаптируйте эти примеры кода для вашего сайта MODX, заменив соответствующие значения на свои. После этого вы должны получить вывод последней опубликованной статьи, а затем двух случайных статей, исключая первую.