0

我正在尝试在 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 标记只是在我的网页上得到输出。

我认为我在做一些根本错误的事情,所以有人可以指出我正确的方向吗?谢谢。

4

2 回答 2

1

这称为“变量冲突” - 您正在嵌套条目,这些条目使用的变量/标签名称与父标签使用的相同(在本例中{title}为时间。

解决方案是将上述代码放入另一个模板,然后将该模板嵌入到您的 Safecracker 表单中。嵌入在模板处理的最后运行,在所有其他 EE 标记都被解析之后,所以你不会遇到同样的冲突。

于 2012-04-02T13:56:03.993 回答
0

Derek 是对的,您需要嵌入相关条目。我已经使用此代码在我的多伦多 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 模块,但原理是一样的。希望这可以帮助

肖恩

于 2012-04-12T16:40:36.550 回答