我正在开发一个应用程序,我不希望将默认类应用于xp:text控件以及可能的其他控件。目前,我在我的代码中这样做:
<xp:text escape="false" id="computedField12" styleClass="noClass">
注意styleClass =“noClass”,其中noClass不存在。有没有更好的方法有选择地为特定的XPage或作为应用程序属性实现这一点,是否可以为其他控件打开/关闭它?
我发现了这个:http://xpageswiki.com/web/youatnotes/wiki-xpages.nsf/dx/Work_with_themes
但是我想要达到的目的是默认情况下不为特定控件设置任何类。
非常感谢你的帮助。
答案 0 :(得分:9)
disableTheme选项100%有效,但您需要记住将其应用于该类型的每个元素以禁用这些元素的自动类。
另一个选项是主题,您非常接近使用您提供的链接的解决方案。您需要在应用程序主题中添加一个控制部分,以覆盖您正在扩展的主题(webstandard或oneui等)。
对于xp:text控件,您需要在主题文档中使用以下内容
<control override="true">
<name>Text.ComputedField</name>
<property mode="override">
<name>styleClass</name>
<value />
</property>
</control>
override =“true”将允许此控件覆盖您继承的主题。设置为false它将与您合并的主题相结合。
mode =“override”将指定如果将sytleClass添加到xp:元素,那么styleClass将是渲染时应用于元素的唯一一个。如果mode =“concat”,则添加到元素的styleClass将与指定的主题控件一起呈现。
如果你想获得所有控制主题ID名称的列表,那么Tim Tripcony在他的服务器上有一个数据库,列出了所有ID为right here的元素。
答案 1 :(得分:5)
将属性disableTheme设置为true。这将删除对xsp样式类等的任何引用。
代码示例:
<xp:text escape="false" id="computedField12" disableTheme="true" />