我確定這個問題不值得它自己的話題,但我沒有找到一個滿意的答案在論壇和堆棧溢出。嵌套模板的嵌套條目
我有三個模板。我會盡力讓自己想要做的事情變得清晰簡單。
頁
{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表選擇插件字段,所以關係不存在問題。我已更新我的問題! –