【问题标题】:Dynamically set value in category.ftl在 category.ftl 中动态设置值
【发布时间】:2015-04-08 05:28:06
【问题描述】:
我有一个使用 category.ftl 与多个字段共享的表单。我想在这些字段中动态设置默认值。我可以通过在 share-config-custom.xml 中传递类别的静态路径来设置默认值。但现在我的要求是读取存储在一个文件中的值,然后在 category.ftl 中将这些值设置为默认值。
例如,在上面的屏幕截图中,我通过在 share-config 中静态传递英语引用将默认语言设置为英语。因此,每次呈现表单时,都会将英语设置为默认语言。我希望将其更改为将默认语言设置为存储在文件中的值。那么如何在share-config-custom.xml文件中传递category的动态引用呢?
任何帮助将不胜感激!!!
【问题讨论】:
标签:
javascript
alfresco
freemarker
alfresco-share
【解决方案1】:
你不能在 share-config-custom.xml 中配置动态的东西。为此你需要在下面的东西上工作。
对于 alfresco 中的每个选择器,alfresco 共享都使用下面的 javascript 文件。(这是 YUI 脚本)
1.generic-object-finder.js
2.object-finder.js
object-finder.js = >
此文件通常在内容类型为权限(露天用户)时使用。所以我认为这不会在您的情况下使用。
generic-object-finder.js = >
该文件用于通用选择器,您可以使用它设置默认值。
================================================ ========================
以下是在选择器中设置值的步骤。
1.Alfresco.util.ComponentManager.list("Alfresco.GenericObjectFinder")
上面的方法会返回picker的所有对象,我们需要在alfresco高级搜索中一一选择并设置默认值。它会以数组形式返回对象
2。 X.options.defaultValue 需要设置。
其中 X 将是 Alfresco.util.ComponentManager.list("Alfresco.GenericObjectFinder") 数组的第一个元素
3.x.selectItems("workspace://SpacesStore/f73a4de7-7a45-412d-ac7d-56061fcf9d76")
以上将设置默认值。您必须在此处传递相关值。