0

我一直在尝试寻找资源来学习如何为 IBM (Lotus) Notes XPage 应用程序和公司服务器默认设置开发自己的主题,但我一直无法找到方法。我找到了大量关于主题如何工作的信息,我知道它们是一组 css,可以是特定于服务器和特定于应用程序的,它们甚至可以相互继承等,但我一直无法真正找到正确的命名方案. 当然,我可以编写自己的 CSS 并将编写的类等连接到控件以更改文本和背景等,但据我了解,使用主题的全部意义在于不必执行此步骤。

如何找到合适的命名方案来创建自己的主题,同时支持扩展库控件?

提前致谢!

4

1 回答 1

0

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

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

我觉得创建一个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 或任何其他浏览器的检查元素选项来找出用于该控件的 css 类。我发现没有办法改变命名方案,或者更好地说,创建自己的类并在设计器中设置样式并让它产生任何影响。我发现的唯一选择是覆盖我的 css 中已经给出的类。

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

于 2013-10-30T08:57:12.217 回答