我正在尝试在ExpressionEngine中创建一个安全盗窃器表单来创建一个食谱。我有一个食谱频道,它可以有来自配料频道的许多配料(使用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标签只是在我的网页上得到输出。
我认为我正在做一些根本错误的事情,所以有人能给我指出正确的方向吗?谢谢。
发布于 2012-04-02 21:56:04
这就是所谓的“变量冲突”--您嵌套的条目使用了与父标签(在本例中为{title})相同的变量/标签名称,由于EE的parse order的工作方式,父标签每次都胜出。
解决方案是将上面的代码放到另一个模板中,并在安全黑客表单中使用embed that template。Embeds是在模板处理的最后阶段运行的,在所有其他的EE标签被解析之后,所以你不会遇到同样的冲突。
发布于 2012-04-13 00:40:37
德里克是对的,你需要嵌入你的相关条目。我用这段代码在我的多伦多EE meetup站点上实现了这个功能。
简化的模板代码:
{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模块,但原理是相同的。希望这能有所帮助
肖恩
https://stackoverflow.com/questions/9945656
复制相似问题