循环通过 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 中的同上调用的主要内容,如果未能解决你的问题,请参考以下文章