Циклически повторять вызовы в MODx

Я использую то же самое, чтобы показать последние записи определенного родителя. Для этого я использую следующий вызов:

[!Ditto? &parents=`5` &orderBy=`createdon DESC` &display=`3`

&total=`4` &extenders=`summary` &tpl=`tpl_news` &truncLen=`160` &truncOffset=`20` !]

Теперь я хочу, чтобы мой веб-сайт непрерывно просматривал определенный диапазон родительских идентификаторов и менял параметр parent каждую секунду.

Результатом должно быть "слайд-шоу" контента, вызываемого такими же вызовами.

Никаких спецэффектов, никакого дизайна (кроме того, который предоставлен шаблоном).

Есть ли простой способ справиться с этим?

Решение:

Получил это на работу!

Я создал этот ресурс:

<div id="newsticker_vn">[!Ditto? &parents=`6` &orderBy=`createdon DESC` &display=`1`<br />&total=`4` &extenders=`summary` &tpl=`tpl_news` &truncLen=`160` &truncOffset=`20` !]</div>
<div id="newsticker_hp">[!Ditto? &parents=`5` &orderBy=`createdon DESC` &display=`1`<br />&total=`4` &extenders=`summary` &tpl=`tpl_news` &truncLen=`160` &truncOffset=`20` !]</div>
<div id="newsticker_ks">[!Ditto? &parents=`7` &orderBy=`createdon DESC` &display=`1`<br />&total=`4` &extenders=`summary` &tpl=`tpl_news` &truncLen=`160` &truncOffset=`20` !]</div>

и используйте этот скрипт, чтобы получить нужные вызовы ditto и зациклить их:

<div id="newsticker"></div>
<script type="text/javascript">
    function execute() {
        $( "#newsticker" ).load("[~348~] #newsticker_vn").delay( 300 ).fadeIn( "slow" ).delay( 6000 ).fadeOut( "slow",execute2 );
    }
    function execute2() {
        $( "#newsticker" ).load("[~348~] #newsticker_ks").delay( 300 ).fadeIn( "slow" ).delay( 6000 ).fadeOut( "slow",execute3 );
    }
    function execute3() {
        $( "#newsticker" ).load("[~348~] #newsticker_hp").delay( 300 ).fadeIn( "slow" ).delay( 6000 ).fadeOut( "slow",execute );
    }
    execute();
</script>

Я пытался выполнить все шаги в одной функции, но по какой-то причине он показывал каждый вызов ditto три раза перед поворотом, не зная почему.

Спасибо за помощь!

1 ответ

Решение

Если я не понимаю, что вы пытаетесь сделать, это невозможно без изменения вашего шаблона (также при условии, что ваш шаблон не поддерживает цикл).

Из вашего объяснения кажется, что вы какой-то Ajax функциональности. Вам понадобится 2 ресурса настройки в менеджере.

  1. Ваша страница использует любой шаблон, который у вас есть
  2. Другая страница, где вы получаете контент для первой страницы с

Первая страница - это ваша обычная страница. Во-вторых, это страница, которая использует "пустой" шаблон и имеет только случайный вызов Ditto. Вам нужно будет изменить первый шаблон, чтобы загрузить вторую страницу, используя некоторый код ajax.

Другие вопросы по тегам