0
{if taxonomy != "" OR related_pages != "" OR related_posts != "" OR related_news != ""}
    <footer role="contentinfo">
        {if taxonomy != ""}
            <div id="taxonomy" itemprop="taxonomy">
                <h3>Category tags for this page</h3>

                <ul property="dcterms:type">
                    {exp:tagger:tags entry_id="{entry_id}" orderby=”tag_name”}
                        <li>
                            <a href="/page/tag/{tagger:urlsafe_tagname}" rel="tag">{tagger:tag_name}</a>
                        </li>
                    {/exp:tagger:tags}
                </ul>
            </div>
        {/if}

        {if related_pages != ""}
            <div id="related-pages">
                {related_entries id="related_pages"}
                    <h3>{title}</h3>
                    {body}
                {/related_entries}
            </div>
        {/if}

        {if related_posts != ""}
            <div id="related-posts">
                {related_entries id="related_posts"}
                    <h3>{title}</h3>
                    {body}
                {/related_entries}
            </div>
        {/if}

        {if related_news != ""}
            <div id="related-news">
                {related_entries id="related_news"}
                    <h3>{title}</h3>
                    {body}
                {/related_entries}
            </div>
        {/if}
    </footer>
{/if}

因此,我希望编写条件代码,如果分类、related_pa​​ges、related_posts 或 related_news 中的任何一个不为空,则首先只会显示页脚元素。请注意,related_* 都是关系字段 ID。

在这个 if 语句中是嵌套的条件语句,如果相应的 ID 不为空,它将只显示内容块。不幸的是,即使没有选择相关内容,EE 似乎也不会看到关系字段为空。

有谁知道在未选择任何内容时关系字段 ID 解析的内容,或者处理我在此代码中尝试执行的操作的另一种解决方法?

4

2 回答 2

1

有点啰嗦,但是...

{if "{taxonomy}" != "" OR 
    "{related_entries id="related_pages"}{entry_id}{/related_entries}" != "" OR
    "{related_entries id="related_posts"}{entry_id}{/related_entries}" != "" OR
    "{related_entries id="related_news"}{entry_id}{/related_entries}" != ""}
...
{if "{related_entries id="related_pages"}{entry_id}{/related_entries}" != ""}
...
{if "{related_entries id="related_posts"}{entry_id}{/related_entries}" != ""}
...
{if "{related_entries id="related_news"}{entry_id}{/related_entries}" != ""}
...

如果您的预算足够,那么Playa插件就是关系之王,让处理关系变得轻而易举。

于 2012-06-24T15:55:02.243 回答
0

感谢彼得刘易斯让我在这方面走在了正确的道路上。请注意,当您在 ID 周围使用双引号时,您似乎必须在每个引用周围添加它们,否则会引发异常。此外,limit 属性或计数在 related_entries 上不可用,但可以使用自定义 PHP 计数进行处理,如链接的论坛线程中所示。

这是适用的改编模板代码:

{if "{taxonomy}" != "" OR 
    "{related_entries id="related_pages"}{entry_id}{/related_entries}" != "" OR
    "{related_entries id="related_posts"}{entry_id}{/related_entries}" != "" OR
    "{related_entries id="related_news"}{entry_id}{/related_entries}" != ""}
...
{if taxonomy != ""}
...
{if "{related_entries id="related_pages"}{entry_id}{/related_entries}" != ""}
...
{if "{related_entries id="related_posts"}{entry_id}{/related_entries}" !=   ""}
...
{if "{related_entries id="related_news"}{entry_id}{/related_entries}" != ""}
...
于 2012-06-24T19:19:45.037 回答