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_* はすべて関係フィールド 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 を二重引用符で囲む場合、各参照を二重引用符で囲む必要があるように見えることに注意してください。そうしないと、例外がスローされます。また、制限属性またはカウントは 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 に答える