XPage主题创建和ExtLib支持

时间:2013-10-29 08:00:02

标签: css xpages xpages-extlib

我一直在努力寻找一种资源,用于学习如何为IBM(Lotus)Notes XPage应用程序和公司服务器默认设置开发自己的主题,但我一直无法找到方法。我发现了很多关于主题如何工作的信息,我知道它们是css的集合,可以是服务器特定的和特定于应用程序的,它们甚至可以从彼此继承等等但我实际上无法找到正确的命名方案。当然,我可以编写自己的CSS并将我写入控件的类等连接到更改文本和背景等等,但据我所知,使用主题的整个过程就是不必执行此步骤。

如何找到适当的命名方案来创建我自己的主题,这些主题也支持扩展库控件?

提前感谢!

1 个答案:

答案 0 :(得分:0)

花了很多时间试图找出这个问题的答案,以及@Naveen在问题评论中写的链接,我觉得这个问题需要一个真正的答案。

首先,如果您尝试创建自己的XPage主题,则指向this wiki的链接非常棒。在发布此问题之前我找到了类似的东西。 Naveen在评论中也列出的This article也是一个很好的来源,如果你试图找到一种方法来扩展XPage主题并需要一种方法来获取Theme的XML文件的控件名称,但是它不适用于扩展库控件!这是因为至少大多数(如果不是全部)扩展库控件都依赖于dojo,并且它们将dojo主题与XPages主题结合使用。可能有一种方法可以在控件的“所有属性”选项卡中关闭它,但这种情况可能更容易自己另外创建一个dojo主题。

我觉得dojo主题的创建是一个自己的问题,我不想在这里真正进入它,但我会说有四个默认的dojo主题,它们有点基本。创建自己的主题后,可以使用以下代码导入dojo主题:

<resource dojoTheme="true">
        <content-type>text/css</content-type>
        <href>/.ibmxspres/dojoroot/dijit/themes/tundra/tundra.css</href>
</resource>

并使用

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

其中body是你自己的html-body风格,tundra是dojo主题。这将确保ExtLib控件至少具有某种样式,并不总是完全透明,或者具有其他一些不需要的默认样式。

如果您不想编写自己的风格,可以只覆盖几个类。查找这些类可能很困难,但它们可以在服务器和客户端上找到,您可以引用它们。该文件将位于:
.. \ Notes \ Data \ domino \ js \ dojo-1.5.2 \ dijit \ themes
文件。此外,您可以使用firebug或任何其他浏览器的inspect元素选项来找出用于该控件的css类。我发现无法改变命名方案,或者更好地放置,创建自己的类并在设计器中设置样式并让它有所不同。我找到的唯一选择是覆盖已经在我的CSS中给出的类。

我希望这可以帮助任何未来的人。

相关问题