Safecracker表单中的相关条目?

时间:2012-03-30 15:09:37

标签: expressionengine safecracker

我正在尝试在ExpressionEngine中创建一个Safecracker表单来创建一个配方。我有一个食谱通道,它可以从成分通道中获得许多成分(使用来自devot:ee的多关系附加组件)。但是,我在列表中列出成分时遇到了麻烦。这是我的加价:

{exp:safecracker channel='recipes' datepicker='no' id='add-recipe-form' include_jquery='no' return='recipes/view/ENTRY_ID' safecracker_head='no'}
    {related_entries id='ingredients'}
        {title}
    {/related_entries}
{/exp:safecracker}

问题是,实际的EE标签只是在我的网页上输出。

我认为我做的事情从根本上是错误的,所以有人能指出我正确的方向吗?感谢。

2 个答案:

答案 0 :(得分:1)

这称为“变量冲突” - 您使用与父标记(在本例中为{title})使用相同的变量/标记名称的嵌套条目,以及EE的{{ 3}}有效,父标签每次都会赢。

解决方案是将您的上述代码放入另一个模板中,并在您的Safecracker表单中添加parse order。在解析完所有其他EE标记之后,嵌入在模板处理的最后运行,因此您不会遇到相同的碰撞。

答案 1 :(得分:0)

Derek是对的,你需要嵌入你的相关条目。我已经使用此代码在我的Toronto EE聚会网站上进行了这项工作。

简化的模板代码:

{exp:safecracker channel="gta-attendee"}
<div class="form_row" style="display:none;">
<label class="small">Choose Meetup to Attend:<span class="required">*</span></label>
{embed="includes/_playa_select" selected="{attendee-event:child_ids}" }
</div>
{/exp:safecracker}  

嵌入式代码:

{exp:channel:entries dynamic="no" channel="gta-meetup" limit="1"}
<input value="{entry_id}" name="attendee-event[selections][]" type="hidden">
{/exp:channel:entries}

在代码中我使用的是Playa模块,但原理是一样的。 希望这有帮助

肖恩

相关问题