您传递的变量在 FTL 文件中定义,该文件(FTL 文件)是从 share-config-custom.xml 引用的。让我们更深入地了解一下。
共享配置-custom.xml
这里我们声明控制参数。
<field-visibility>
<show id="fieldName"/>
</field-visibility>
<appearance>
<field id="fieldName" label="Name of Field">
<control template="/path/to/ftl/textarea.ftl" />
<control-param name="helpText">Description of field</control-param>
</control>
</field>
</appearance>
你的自定义模板.ftl
这是你的参数第一次出现的位置
<script type="text/javascript">//<![CDATA[
(function()
{
new Alfresco.CustomYUIObject("${fieldHtmlId}").setOptions(
{
helpTest:"${field.control.params['helpText']}",
}).setMessages(
${messages}
);
})();
//]]></script>
自定义YUIObject.js
您可以在组件上使用 javascript 执行某些操作。
(function() {
var Dom = YAHOO.util.Dom, Event = YAHOO.util.Event;
var $html = Alfresco.util.encodeHTML;
Alfresco.CustomYUIObject = function ExportDMSD_constructor(htmlId) {
Alfresco.CustomYUIObject.superclass.constructor.call(this,
"Alfresco.CustomYUIObject", htmlId, [ "button", "container",
"datasource", "datatable", "paginator", "history",
"animation" ]);
return this;
};
YAHOO.extend(Alfresco.CustomYUIObject, Alfresco.component.Base);
YAHOO.lang.augmentObject(Alfresco.CustomYUIObject.prototype, {
options : {
helpText:null
},
onReady : function ExportDMSD_onReady() {
console.log(this.options.helpText);//Its the javascript place where you can access yout variable,register and event and do javascript things
}
});
})();