【问题标题】:Nesting an ExpressionEngine Channel Entry Tag Pair within another Channel Entry Tag Pair?将 ExpressionEngine 通道条目标记对嵌套在另一个通道条目标记对中?
【发布时间】:2011-12-07 00:28:33
【问题描述】:

我进行了一些搜索,但似乎找不到任何关于将 channel entry tag pair 嵌入到另一个中的信息。

当我在模板中尝试以下代码时,它会破坏页面,并且我看到开头的 {reverse_related_entries sort="desc"} 显示为纯文本:

{exp:channel:entries channel="pages"}
    {reverse_related_entries sort="desc"}
        {if show_testimonial}
            {exp:channel:entries channel="testimonials" orderby="random" limit="1"}
                <blockquote>
                    {testimony}
                    <cite>
                        <span class="cite_name">{cite_name}</span><br />
                        <span class="cite_org">{cite_org}</span><br />
                        <span class="cite_title">{cite_title}</span>
                    </cite>
                </blockquote>
            {/exp:channel:entries}
        {/if}
    {/reverse_related_entries}
{/exp:channel:entries}

ExpressionEngine 中是否有办法在其内部嵌套通道条目标记对?

【问题讨论】:

    标签: expressionengine


    【解决方案1】:

    为了在自身内部嵌套{exp:channel:entries} 标记对,您需要使用{embed} 变量来embed the template within another template

    为此,只需将您的主频道条目标签修改为如下所示:

    {exp:channel:entries channel="pages"}
        {reverse_related_entries sort="desc"}
            {if show_testimonial}
                {embed="template_group/template"}
            {/if}
        {/reverse_related_entries}
    {/exp:channel:entries}
    

    然后,使用嵌套通道条目标记对的内容创建一个新模板:

    {exp:channel:entries channel="testimonials" orderby="random" limit="1"}
        <blockquote>
            {testimony}
            <cite>
                <span class="cite_name">{cite_name}</span><br />
                <span class="cite_org">{cite_org}</span><br />
                <span class="cite_title">{cite_title}</span>
            </cite>
        </blockquote>
    {/exp:channel:entries}
    

    您可以使用以下语法将其包含在任何 ExpressionEngine 模板中,如前所示:

    {embed="template_group/template"}
    

    使用嵌入模板是解决 ExpressionEngine 的一些怪癖和 Parse Order(PDF,32 KB) 的标准方法,但它们确实会带来性能损失,因此在决定是否使用{embed}{snippet}

    【讨论】:

    • 我想到了这个,但是当前代码已经是嵌入模板的一部分,我担心会影响性能,但我想我别无选择。感谢您的意见。
    • 我可以建议您在这种情况下重新检查和重构您的模板设置吗?嵌入中的嵌入是我要小心跨越的一条线!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-11
    • 2022-09-22
    相关资源
    最近更新 更多