2013-08-26 27 views
0

我使用的是主題爲我的XPage應用程序設置放眼全球&感覺設置,使我對viewRoot配置看起來像這樣添加的風格時總是會被覆蓋:styleClass屬性的主題

<control dojoTheme="true"> 
    <name>ViewRoot</name> 
    <property> 
     <name>pageIcon</name> 
     <value>/favicon.ico</value> 
    </property> 
    <property> 
      <name>style</name> 
       <value>#{javascript: 
        var response = facesContext.getExternalContext().getResponse(); 
        response.setHeader("X-UA-Compatible", "IE=8"); 
       }</value> 
      </property> 
      <property mode="concat"> 
       <name>styleClass</name> 
       <value>claro</value> 
      </property> 
</control> 

雖然我用的是mode="concat",我以爲只是增加(如array.concat)我的財產我viewRoot但它總是將其覆蓋,讓我<body>看起來像這樣:

<body class="claro"...代替:
<body class="xsp lotusui claro"...

我也遇到了這個問題,其他<controls>/<properties>以及。

我目前的解決方案是,我的屬性值設置爲xsp lotusui claro不單單隻claro防止我的身體失去了所有oneui/XSP風格。任何人都知道爲什麼mode =「concat」在我的例子中不起作用?或者是這種模式的其他東西?

我無法找到所有主題屬性的良好文檔,所以如果有人得到了很好的鏈接,我會很高興如果他能分享它。

回答

0

編輯: 因爲我正在研究一個XPages主題,當時我更加好奇並且在這方面玩了一下。據我所見,你的代碼工作得很好。在我的測試中,我體驗到,您可以將樣式定義連接到預定義的styleClass。所以,你可以創建一個XPages和定義的車身風格類像這樣用的XPage內預定義的身體的styleClass:

<?xml version="1.0" encoding="UTF-8"?> 
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" styleClass="mystyle"> 
<xp:button value="Label" id="button1" themeId="bt" 
    styleClass="oink"> 
</xp:button> 
</xp:view> 

使用主題,你現在可以添加其他(甚至多個)styleClasses:

<control> 
    <name>ViewRoot</name> 
    <property mode="concat"> 
     <name>styleClass</name> 
     <value>claro</value> 
    </property> 
</control> 

在您的場景中,您想要將作爲「默認」styleClass添加的styleClass定義連接起來 - 這似乎是一個問題或衝突。 所以,現在這是我的結論。如果有其他人有更多更深入的見解,我也會對主題和繼承的深入瞭解感興趣。

舊評論:
據我所知,只添加屬性,你應該將控制假的覆蓋屬性。

例(代碼更改):

<control dojoTheme="true" override="false"> 
<name>ViewRoot</name> 
<property> 
    <name>pageIcon</name> 
    <value>/favicon.ico</value> 
</property> 
<property> 
     <name>style</name> 
      <value>#{javascript: 
       var response = facesContext.getExternalContext().getResponse(); 
       response.setHeader("X-UA-Compatible", "IE=8"); 
      }</value> 
     </property> 
     <property mode="concat"> 
      <name>styleClass</name> 
      <value>claro</value> 
     </property> 

希望的作品和幫助,

邁克爾

+0

thx但我已經嘗試過'ovverride =「false」'屬性,但結果相同。 –

+0

是的,似乎無法將自定義樣式連接到默認的xsp lotusui。目前它使用'xsp lotusui claro'可以正常工作,我想我會這樣做,我的第一個想法是如果默認名稱在更新版本的XPage/Notes中更改,我會遇到問題。 –

0

我知道它已經有一段時間,但你記得要「擴展」你想包含原始類的主題嗎?即:

<theme extends="oneui"> 
    <control….>…</control>… 
</theme>