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