例如,首先,我创建了一个从'_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。
因此,继承是在构建时,而不是在运行时,因为你可能已经想过。
希望这会有所帮助。