我正在爲Liferay創建自定義主題,我希望在每個頁面佈局中單獨包含頁腳。不幸的是,我似乎沒有訪問頁面佈局文件中的$ full_templates_path變量。我沒有手動將值存儲在#set中,然後在包含的模板中訪問該值。如何#設置變量以使其在包含的速度模板中可用
在香草主題,文件的處理是這樣的:
portal_normal.vm:
1) some init, doctype, etc.
2) #parse("$full_templates_path/header.vm")
3) $theme.include($content_include)
a) custom_layout_1.tpl
b) chat portlet
4) #parse("$full_templates_path/footer.vm")
佈局的目的,我需要要摒棄這種模式,就像這樣:
portal_normal.vm
1) some init, doctype, etc.
2) #parse("$full_templates_path/header.vm")
3) $theme.include($content_include)
a) custom_layout_1.tpl
i) #parse("$full_templates_path/footer.vm")
b) chat portlet
當我嘗試這,tomcat出錯,因爲$ custom_templates_path沒有在custom_layout_1.tpl中定義。我試着用以下方法portal_normal.vm內
#set($full_footer_path = "$full_templates_path/footer.vm")
$theme.include($content_include)
,然後custom_layout_1.tpl內,我這樣做是爲了解決這個問題,我想發出的頁腳標記:
#parse("$full_footer_path")
然而,tomcat仍然出錯,說$ full_footer_path沒有定義。
當我將$ full_templates_path的值硬編碼到custom_layout_1.tpl中的#parse語句中時,一切正常,但對我來說這似乎是一種破解。
理想情況下,這應該是正確的理由,而不僅僅是因爲我使用了很多膠帶。
對於從自定義頁面佈局中實現包含模板文件的方式的任何建議?
有沒有其他方法可以實現這一點?我不確定我想要對環境進行全球變革來解決這個單一問題。我想限制意想不到的後果。 – Tom
這個[回覆](http://stackoverflow.com/a/5014956/669645)給一個類似的問題看起來像是你在做什麼之後 – Edd