1

group.groupにpost.htmlというテンプレートがあります。テンプレートには、セーフクラッカーフォームが含まれています。中にsafecrackerフォームがあり、if / elseステートメントがあるので、URLが/ group / post / titleの場合、safecrackerフォームは編集のために既存のエントリをロードします。タイトルセグメントがない場合(URLは/ group / postのみ)、空白のセーフクラッカーフォームを読み込んで新しい投稿を作成します。これが私のコードです:

{if segment_3 != ""}
      {exp:safecracker channel="trophy_gallery"
       require_entry="yes" url_title="{segment_3}" author_only="yes"}

            // edit entry form code

        {/exp:safecracker}
{if:else}
        {exp:safecracker channel="trophy_gallery"}

           // create entry form code

        {/exp:safecracker}
{/if} 

何らかの理由で、require_entry、url_title、author_onlyなどのセーフクラッカー設定が、コードの「else」ブロックのセーフクラッカー設定に影響を与えています。したがって、3番目のセグメントなしでURLをロードすると、エントリが提供されなかったことがわかります。

これをフォーマットする方法に何か問題がありますか(そうするためのより良い方法)、またはこれはセーフクラッカータグの解析方法に潜在的にバグがありますか?

4

1 に答える 1

2

ExpressionEngineフォーラムからの回答は次のとおりです。

url_titleSafecrackerタグには、またはの値に基づいて編集/新しい状況を処理するための解析がすでに組み込まれていますentry_id。したがって、コードを次のように書き直すことができます。

{exp:safecracker channel="trophy_gallery"
 url_title="{segment_3}" author_only="yes"}

    // edit entry form code

{/exp:safecracker}
于 2012-04-27T20:22:32.990 に答える