php - 如何找到节点的上一个/下一个兄弟节点?

标签 php ezpublish

通过 eZ Publish, 当给定一个 ezContentObjectTreeNode 对象时,我如何找到它的前一个/下一个兄弟节点? 有模板运算符吗?如果没有,有php方法吗?

最佳答案

这里有一个方法,基于节点的children属性。

         {foreach $node.parent.children as $k => $v}
        {if eq($node.node_id, $v.node_id)}
            {if gt($k, 0)}
                {set $prev = $node.parent.children[$k|dec()]}
            {/if}
            {if lt($k, $node.parent.children|count())}
                {set $next = $node.parent.children[$k|inc()]}
            {/if}
        {/if}   
     {/foreach}

您还可以使用模板获取功能。 http://doc.ez.no/eZ-Publish/Technical-manual/3.6/Reference/Modules/content/Fetch-functions/list

我不确定第一种方法是否会保持排序。但是,如果您正确使用 fetch 函数,那肯定会。

关于php - 如何找到节点的上一个/下一个兄弟节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3862287/

相关文章:

php - 下载 csv 文件

php - 测试可能未设置的变量中的 NULL 值

javascript - 如何在 PHP 中从 AJAX jQuery 请求获取数据

php - 在 ezpublish 中以编程方式删除图像

php - eZ Publish 6 (eZPlatform) 连接问题

php - Heredoc 并没有像我所说的那样按字面意思保留文本

php - MySQL 错误 2006 : MySQL Server has gone away while executing cron job

php - 三步而不是四步忘记密码功能

ezpublish - 无法在 ezpublish 5.4 中发送电子邮件 SMTP

templates - 我的xml_block中的自定义标签