我确定这个问题不值得它自己的话题,但我没有找到一个满意的答案在论坛和堆栈溢出。嵌套模板的嵌套条目
我有三个模板。我会尽力让自己想要做的事情变得清晰简单。
页
{exp:channel:entries channel="page" dynamic="yes"}
{!-- 'pages_module' is a matrix field --}
{page_modules}
{!-- The field 'module' is returning the entry_id from SP Table Select --}
{embed="module/index" id="{module:value}"}
{/page_modules}
{/exp:channel:entries}
模块 - 指数
{exp:channel:entries channel="module" dynamic="no" entry_id="{embed:id}" site="main_site"}
{if module_type == "building"}
{embed="module/building" id="{building_id}"}
{/if}
{!-- Other module type checking here... --}
{!-- Note this following line --}
{entry_id} - {embed:id}
{/exp:channel:entries}
模块 - 因此,基本上建立
{exp:channel:entries channel="building" dynamic="no" entry_id="{embed:id}" site="main_site"}
<h1>{title}</h1>
<p>{building_description}</p>
{/exp:channel:entries}
,在这个设置可以将“模块”附加到页面条目中。在这种特殊情况下,我试图查看是否在页面上设置了{module_id}。如果是这样,将{module_id}传递给主模块模板,该模板将获取模块条目,比较{module_type}并将{building_id}发送到第三个模板。然后获取并显示建筑物信息。
在模块模板中,我写了一个注释,{entry_id}和{embed:id}不匹配。 {entry_id}等于动态获取的第一个页面条目的ID。我认为这是因为它嵌入了模板而不是片段,因此会产生三个嵌套的{exp:channel:entries}标签。但是再次,我无法将ID传递给一个片段,对吗?
另外值得注意的是,我使用MSM,并且由于我有8个站点在上面运行,所以我希望“模块”是模块化的,并且都位于“主站点”以方便维护。
我希望有人能澄清这个和/或纠正我,如果我错了。
感谢您的回答。由于在Matrix字段内module_id实际上是一个SP表选择插件字段,所以关系不存在问题。我已更新我的问题! –