如何通过XPages中的Theme设置dojo属性和dom属性?
这是可能的吗?
我想为所有CKEditor设置dojo外观,例如我设置了dojoType ..
<control>
<name>InputField.RichText</name>
<property>
<name>dojoType</name>
<value>MY_DOJO_TYPE</value>
</property>
</control>
UPD:我尝试使用此代码,但无效
<property>
<name>dojoAttributes</name>
<complex type="xp_dojoAttribute">
<property>
<name>name</name>
<value>skin</value>
</property>
<property>
<name>value</name>
<value>MY_CKEDITOR_SKIN_PATH</value>
</property>
</complex>
</property>
答案 0 :(得分:1)
Tony McGuckin刚才在openntf.org上添加了一段代码片段,它似乎正在为你所做的事情做点什么:
到目前为止还没有尝试过,但认为这样做是个好主意!
编辑:我自己尝试了几个选项;得到一些工作,其他人根本不会做出反应,甚至抛出运行时错误。以下是 的工作清单以及不工作的清单:
我为控件ccDocRtf.inputRichtext1
定义了自定义主题ID。
dojoType:这是控件级别的计算属性;我把它放在主题内:
<control>
<name>ccDocRtf.inputRichtext1</name>
<property mode="override">
<name>dojoType</name>
<value>#{javascript:@ClientType().equals("Web") ? "my.custom.packagename.CKEDITOR" : ""}</value>
</property>
dojoAttributes:所有静态属性设置都运行良好,例如:
<property
mode="override">
<name>dojoAttributes</name>
<complex
type="xp_dojoAttribute">
<property>
<name>name</name>
<value>toolbar</value>
</property>
<property>
<name>value</name>
<value>myToolbarName</value>
</property>
</complex>
<complex
type="xp_dojoAttribute">
<property>
<name>name</name>
<value>extraPlugins</value>
</property>
<property>
<name>value</name>
<value>autogrow</value>
</property>
</complex>
<complex
type="xp_dojoAttribute">
<property>
<name>name</name>
<value>width</value>
</property>
<property>
<name>value</name>
<value>99%</value>
</property>
</complex>
</property>
</control>
我还有两个要设置的属性需要计算;由于某种原因,我无法让那些工作。也许我会找到时间进一步调查,因为我觉得这是一个有趣的选择。