我想在liferay中提出一个关于主题的问题。什么会更容易,更好?创建一个新主题或修改已存在于liferay页面的主题?
感谢您的任何建议。
答案 0 :(得分:3)
这是相同的:通过使用Liferay SDK创建一个新主题,将克隆默认主题,然后您可以覆盖一些CSS,模板等。
创建新主题:http://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/creating-a-the-4
答案 1 :(得分:2)
在sdk中创建主题时,它是基于父主题或经典主题构建的。
供参考,请检查主题的build.xml。
答案 2 :(得分:0)
作为制作了多个自定义主题的人,最好修改现有主题。 您应该修改的所有文件都在/ docroot / diffs / *
下对于图像,我在图像下创建一个/ custom文件夹,我放置了所有文件。
对于模板,我主要修改了navigation.vm和portal_normal.vm文件。我改变了完全处理导航的方式。
我还彻底修改了css以实现我们想要的外观和感觉。我为此创建了一个custom.css文件。
这是我创建的自定义子导航菜单,允许在子元素上显示over状态。
<nav id="navigation_sub_menu">
<ul>
#foreach ($nav_item in $nav_items)
#if ($nav_item.isSelected() && $nav_item.hasChildren())
<ul class="child-menu">
#foreach ($nav_child in $nav_item.getChildren())
#set ($nav_child_upper = $nav_child.getName())
#if ($nav_child.isSelected())
<li class="sub_menu">
<a class="selected" href="$nav_child.getURL()" $nav_child.getTarget()>$nav_child_upper.toUpperCase()</a>
</li>
#else
<li>
<a href="$nav_child.getURL()" $nav_child.getTarget()>$nav_child_upper.toUpperCase()</a>
</li>
#end
#end
</ul>
#end
#end
</ul>