循环通过 MODx 中的同上调用

Posted

技术标签:

【中文标题】循环通过 MODx 中的同上调用【英文标题】:loop through ditto calls in MODx 【发布时间】:2014-01-12 04:17:54 【问题描述】:

我使用同上来显示特定父级的最后条目。为此,我使用以下调用:

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

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

我现在希望我的网站在特定范围的父 ID 中不断循环,并每隔一秒更改一次父参数。

结果应该是由同上调用调用的内容的“幻灯片”。

无特效,无设计(模板提供的除外)。

有没有简单的方法来管理这个?

解决方案:

让它工作!

我创建了这个资源:

<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>

并使用此脚本获取所需的同上调用并循环它们:

<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>

我尝试在一个函数中执行所有步骤,但由于某种原因,它在旋转之前显示每个同上调用 3 次,不知道为什么。

感谢您的帮助!

【问题讨论】:

【参考方案1】:

除非我不明白您要做什么,否则不更改模板是不可能的(还假设您的模板不支持循环)。

从您的解释看来,您似乎具有某种 ajax 功能。您将需要在管理器中设置 2 个资源。

    您的页面使用您拥有的任何模板 从另一个页面获取第一页的内容

首页是您的常规页面。第二个是使用“空白”模板的页面,并且只有一个随机的同上调用。您必须修改第一个模板以使用一些 ajax 代码加载第二个页面。

【讨论】:

工作就像一个魅力!谢谢!

以上是关于循环通过 MODx 中的同上调用的主要内容,如果未能解决你的问题,请参考以下文章

ModX 同上:订购电视?

Modx 同上调用和复选框

在 MODx 中,我如何使用动态 parents='folderId' 进行同上调用

如何实现 SEF 分页(同上)- MODx?

ModX Evolution:同上 + phx 代码

modx - 当我在同上片段中使用“&documents =”参数时,分页不起作用