例如,首先,我創建了一個從'_style'繼承的定製主題,這稱爲'theme1'。那麼我想創建另一個從'theme1'繼承的主題。那可能嗎?如果是這樣,它是如何在幕後工作的?如何從liferay中的自定義主題繼承
在此先感謝。
例如,首先,我創建了一個從'_style'繼承的定製主題,這稱爲'theme1'。那麼我想創建另一個從'theme1'繼承的主題。那可能嗎?如果是這樣,它是如何在幕後工作的?如何從liferay中的自定義主題繼承
在此先感謝。
我已經在Liferay 6.0的this blog article中描述了這個問題,應該仍然適用於較新的版本。
你的問題吸引了我,所以我試圖尋找一個解決方案,但是結果並不完全令人滿意,我解釋什麼,我發現:
inherit-theme
插件項目,當他問我父主題我離開了默認選擇(_styled
)inherit-theme/build.xml
並更改<property name="theme.parent" value="_styled" />
與<property name="theme.parent" value="my-custom-parent-theme" />
,其中my-custom-parent-theme
是我開發的一個先例項目主題。嘗試保存,您可以在控制檯中看到類似這樣的錯誤(或多或少):
file not found: C:\myPc\...\inherit-theme\my-custom-parent-theme\build.xml
他搜索在自己的父母的build.xml
,所以我試圖複製/粘貼整個父母項目在孩子的內部。
建立inherit-theme
和驚喜!有用 ! CSS,JS和模板文件被複制到它們各自的文件夾中。
但在我看來,這不是一個很好的解決方案,它比每一個文件的手動副本更小,而且生成的項目是沉重的,因爲它必須包含整個家長和至少第一構建/部署非常緩慢......另一方面,可能不存在更好的解決方案。
結論: 我不知道它可以帶來多少好處,這個測試非常快,也許會有問題繼續發展。
所有的測試都在Liferay 6.2上
是的,這是可能的。
它在構建時需要父主題(theme1
)文件並創建您的新主題。所以,如果你改變了在你的theme1
中說portal_normal.vm
,那麼當你構建你的主題的時候,你的孩子主題需要更新portal_normal.vm
。因此,如果您想進一步更改,現在可以使用更新後的portal_normal.vm
。同樣,它將採用其他所有文件,如父主題中的JS和CSS。
因此,繼承是在構建時,而不是在運行時,因爲你可能已經想過。
希望這會有所幫助。