2012-01-20 5 views
0

私はこのエントリーフォームExpressionEngineの金庫破りのドロップダウンフィールド

{exp:safecracker channel="channel_name" return="url/ENTRY_ID" entry_id="{segment_3}" author_only="yes" include_jquery="no" class="nice"} 

<label for="title">Week Title</label> 
<input type="text" name="title" id="title" value="{title}" size="50" maxlength="100" class="input-text"> 
<label for="challenge">Select Challenge</label> 
<select name="challenge"> 
<option value=""> -- </option> 
{exp:channel:entries channel="channel_name2" username="CURRENT_USER" dynamic="no"} 
<option value="{entry_id}">{title}</option> 
{/exp:channel:entries} 
</select> 
... 
{/exp:safecracker} 

「チャレンジ」フィールドのドロップダウンメニューに戻ります{たentry_id}が正しくなく、{タイトル}を持っています。 {title} paramsは空白です。

ヒント?

答えて

-1

ネスティングチャンネル:セーフクリッカーの項目が最適な方法ではない可能性があります。 channel:entriesタグをスニペットに入れると、より良い結果が得られるはずです。

+0

いいえ、スニペットは、変数の衝突または解析順序に関して何も変更しません。 –

+0

これは私がここでやったことです。最初にスニペットが解析されます。 http://loweblog.com/downloads/ee-parse-order.pdf – pvledoux

+0

申し訳ありませんが、私は気づいていませんでした...私は、その時点でスニペットの「解析」がテンプレートに含まれているだけであった実際にそれらに含まれているタグを実行しています。 –

2

名前空間の衝突が発生しました - {title}は最初にチャンネルエントリタグによって設定されますが、最も外側のモジュールタグであるため、SafeCrackerによって上書きされます。 {entry_id}は、新しいエントリを作成するのではなく、既存のエントリを編集すると失敗します。

これを解決するにはembeddingチャンネルエントリタグ(pippledouxで提案されているようなスニペットは、この場合は役に立ちません)。

関連する問題