2012-04-09 64 views
1

我想請教一個問題,關於主題化在Liferay中。什麼會更容易,更好?創建新主題或修改已存在的Liferay頁面的主題?Liferay的主題發展

感謝您的任何建議。

回答

3

這是一樣的:通過創建Liferay的SDK的新主題默認的主題將被克隆,然後你可以覆蓋一些CSS,模板等

要創建一個新的主題:http://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/creating-a-the-4

+0

是的,我也發現,我其實是問這將是更好還是更容易?如同時間限制和所有? – saurjk 2012-04-10 03:15:17

+0

Mark和他們說的一樣,因爲當使用插件SDK創建主題時,它會克隆默認值,因此您不需要從頭創建一個主題。您只需修改現有的(克隆的)一個。 – Jonny 2012-04-10 06:59:05

+0

使用liferay插件創建liferay主題sdk是實現這一目標的最佳方式! – Mark 2012-04-10 17:13:19

1

在sdk中創建主題時,它基於父主題或經典主題構建。

僅供參考,請查閱主題的build.xml文件。

0

正如有人誰取得了一些自定義主題,最好修改現有的主題。 你應該修改的所有文件都在/ docroot/diffs/*

對於圖像,我在圖像下創建了一個/自定義文件夾,放置了所有的圖像。

對於模板,我主要是修改了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>