1

我想问一个关于liferay主题的问题。什么会更容易和更好?创建新主题或修改已经存在于 liferay 页面的主题?

感谢您的任何建议。

4

3 回答 3

3

那是一样的:通过使用 Liferay SDK 创建一个新主题,默认主题将被克隆,然后您可以覆盖一些 css、模板等。

创建新主题:http ://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/creating-a-the-4

于 2012-04-09T11:43:15.363 回答
2

当您在 sdk 中创建主题时,它是基于父主题或经典主题构建的。

作为参考,请查看主题的 build.xml。

于 2012-04-09T23:58:38.170 回答
0

作为制作了几个自定义主题的人,最好修改现有主题。您应该修改的所有文件都在 /docroot/diffs/* 下

对于图像,我在图像下创建了一个 /custom 文件夹,我将所有这些文件夹放在其中。

对于模板,我主要修改了navigation.vm和portal_normal.vm文件。我完全改变了导航的处理方式。

我还彻底修改了 css 以实现我们想要的外观。我为此创建了一个 custom.css 文件。

这是我创建的自定义子导航菜单,它允许在子元素上出现过度状态。

<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>

于 2013-08-21T13:42:26.087 回答