2014-04-09 55 views
1

現在我正在使用默認的portal_normal.vm來顯示我的頁面。我已經對custom.css做了一些修改,以對主題進行一些修改(JUst改變了背景的顏色)在Liferay中更改portal_normal.vm

我對portal_normal.vm做了一些修改。

如果我想給我的頁面提供完全不同的外觀,該怎麼辦?我的答案是對portal_normal.vm頁面進行更改。

我的問題是:

portal_normal.vm有一些變數和類似的東西:

<html class="$root_css_class" dir="#language ("lang.dir")" lang="$w3c_language_id"> 

我想知道在哪裏呢portal_normal.vm從獲取這些值?通過值我的意思是變量的值,如$ root_css_class?通常velocity會從java類中獲取這些值。所以在liferay主題中,portal_normal.vm從哪裏獲取這些值?可以完全更改portal_normal.vm文件嗎?

回答

1

您可以在liferay中創建主題並在portal_normal.vm中提供自定義。

有init.vm文件,其中一些變量是聲明的,VelocityVariablesImpl.java是定義vm變量的類。

+0

感謝Pankaj的回覆。我創建了一個新的主題項目,並對portal_normal.vm和custom.css進行了更改,但找不到VelocityVariablesImpl.java 我搜索的文件位置爲: portal-impl/src/com/liferay/portal/velocity/VelocityVariablesImpl.java 但是即使在構建服務之後,我仍無法找到此文件。 你能幫忙嗎? – user2822187

+0

並且主題項目中沒有init.vm文件,但init_custom.vm存在。 – user2822187

+3

init.vm由門戶提供。你可以在這裏看到它的內容:https://github.com/liferay/liferay-portal/blob/master/portal-web/docroot/html/themes/_unstyled/templates/init.vm在你的主題中,你可以使用init_custom.vm在模板呈現之前添加自己的變量 – jbalsas

2

是的,你可以改變portal_noraml.vm文件中的任何東西,並設計你自己的外觀。

這裏要更改portal_normal.vm我們將使用主題。在_diff/templates中放置經典主題portal_normal.vm並進行更改。

所有velocity變量都在init.vm文件中聲明,我們有另一個名爲inti_custom.vm的文件來聲明我們自己的速度相關變量。

門戶所需的大部分速度變量已經由liferay人員定義,我們只是使用這些變量。

在_diff/templates文件夾中使用init_custom.vm作爲自定義速度變量。

https://github.com/liferay/liferay-portal/blob/6.2.x/portal-web/docroot/html/themes/_unstyled/templates/init.vm

大部分已經被速度發動機最大所以我們不需要創造速度發動機新變量加載的變量。

+0

感謝您的回答 – user2822187