【问题标题】:How pass control-param to the picker in alfresco 5?如何将控制参数传递给 alfresco 5 中的选择器?
【发布时间】:2017-03-10 20:33:01
【问题描述】:

问题

Here 是关于在露天扩展默认authority.ftl 的答案。但是当pickerchildren.get.js 被调用时,它的值为null 而不是argsFilterString。此外,代码来源pickerchildren.get.js 与答案中的来源不同。

关于调试

我已经修改了authority.ftl 以将表达式${field.control.params.filterString} 输出到html,所以这个参数为空并且按预期工作。

我真正无法理解的是pickerchildren.get.jsargsFilterString = args['filterString'] 行总是返回 null。 args变量中也没有特殊参数。

那么当 alfresco 版本为 5 时,如何将新的 controll-param 传递给 alfresco picker?

【问题讨论】:

  • 你到底想用额外的参数做什么? pickerchildren.get.js 不同可能是因为 Alfresco 版本。
  • 我想要按组过滤用户,请参阅previous question

标签: javascript java alfresco freemarker


【解决方案1】:

虽然问这个问题的日期是3年前,但如果我现在也遇到这个问题,也许我的解决方案无论如何都会有所帮助。

在实施此组控制时,还缺少一个步骤。

你必须在文件/share/components/object-finder/object-finder.js函数_generatePickerChildrenUrlParams: function ObjectRenderer__generatePickerChildrenUrlParams(searchTerm)中找到并添加到参数filterString的生成URL值中:

 _generatePickerChildrenUrlParams: function ObjectRenderer__generatePickerChildrenUrlParams(searchTerm)
  {
     var params = "?selectableType=" + this.options.itemType + "&searchTerm=" + encodeURIComponent(searchTerm) + "&size=";
     if (this.options.createNewItemUri !== "")
     {
        params += this.options.maxSearchResults;
     }
     else
     {
        params += this.options.maxChildResults;
     }

     //if filterString control-param has been provided in share-config.xml file
     if ( this.options.filterString ) {
        params += "&filterString="+ this.options.filterString;
     }
     
     .
     .
     .
     .
     return params;
  }

如果在您的自定义共享配置中提供此参数,这只是控制另一个条件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-07
    • 1970-01-01
    • 2017-01-12
    • 2015-10-19
    • 2012-08-31
    • 2022-01-18
    相关资源
    最近更新 更多