0

式エンジンの新機能。次のコードがあります。

    {exp:channel:entries channel="blogposts" orderby="date" url_title="{segment_3}" limit="1"}

        <div id="cat_head_section">
            <div id="cat_title">
                <div id="lower_bubble_heading" class="cat_title"><h5>{title}</h5></div>
            </div>
        </div>

        <div id="category_main">


            {if no_results}
                <h2>Sorry, the post you were looking for either does not exist or has been deleted.</h2>
            {/if}

            {url_title}


        </div>

    {/exp:channel:entries}  

結果が返されない場合、ページの構造に不可欠な HTML (見出し以外) が返されません。これを解決するにはどうすればよいですか?

ありがとう。

4

3 に答える 3

0

結果がない場合に表示される唯一のものは、{if no_results} "if" ステートメントの間にあるものです。そこにさらに HTML が必要な場合は、そこに追加するだけです (複製しているように見えますが、結果が表示されるか結果が表示されないため、複製されません)。

于 2013-08-16T16:52:49.420 に答える
0

または、コードを複製したくない場合は、HTML を別の埋め込みテンプレートとして保存し、適切な値を変数パラメーターとして渡すこともできます。結果が得られない場合は、変数値に謝罪を割り当てます。

http://ellislab.com/expressionengine/user-guide/templates/embedding.htmlを参照してください。

于 2013-08-16T19:35:28.233 に答える
0

この回答は、ここで行っているエントリ コールがページのメイン コールであることを前提としています。この呼び出しが本当にサイドバーなどのためだけのものである場合、この回答は当てはまらない可能性があります。

いくつかのこと...

  1. EE が「期待する」ような URL を作成している場合、URL タイトルを探す URL セグメントを指定する必要はありません。'url_title' パラメータは一般に、最後のセグメントに表示されるエントリ以外の特定のエントリをロードするなど、 EE が予期しないことを行う場合に役立ちます。

  2. 結果を 1 つのエントリに制限する場合は、順序を指定する必要はありません。

  3. 「url_title=」パラメーターが必要だと思う理由は、「require_entry=」をよく見ていないからかもしれません。

だから私たちはこれに行き着きます:

{exp:channel:entries channel="blogposts" limit="1" require_entry="yes"}

あなたの質問に移りましょう:

あなたが見つけられないページを誰かが求める理由と方法を考えてみてください。

エントリは削除されましたか?誰かが不正な URL をリツイートしましたか?

A.これらの要求は、実際には 404 応答を要求していると言えます。

「申し訳ありません...」メッセージを含む有効なページの代わりに真の 404 を提供することで、悪いページが検索エンジンによってインデックス付けされないことが保証されます...

これを処理するには、EE のリダイレクト タグが必要です。

{if no_results}
{redirect="404"}
{/if}

これを行うと、本当に役立つ404 ページが必要になります。

B. または、エントリが見つからない場合、サイトの 404 ページよりも優れた、訪問者を送信する「次善の場所」をすでに念頭に置いていると言うことができます。

そのため、訪問者が存在しないブログエントリ(例: /blog/entry/bad_page)を探している場合、それらを送信するのに最適な場所はブログインデックスページ (例: /blog) です。検索ランキングが気になる場合は、破損しているインバウンドリンクに何らかの SEO 値があった場合、ここでの 301 リダイレクトは、リダイレクト先のページにその SEO 値を付与するのに役立ちます。

{if no_results}
{redirect='blog/' status_code="301"}
{/if}
于 2013-08-16T22:41:46.197 に答える