我已经创建了一个组件,并且仅当文档具有特定方面时,我才想在文档详细信息页面上显示该组件,因此我尝试使用求值器。我已经在custom-slingshot-application-context.xml中添加了这个bean
<bean id="evaluator.doclib.metadata.hasInvoiceAspect"
parent="evaluator.doclib.action.propertyNotNull">
<property name="property" value="inv:invoice"/>
</bean>在document-details.xml中,我添加了以下内容
<component>
<region-id>custom-comp</region-id>
<sub-components>
<sub-component id="default">
<evaluations>
<evaluation>
<evaluators>
<evaluator type="evaluator.doclib.metadata.hasInvoiceAspect"/>
</evaluators>
<url>/components/custom/custom-comp</url>
</evaluation>
</evaluations>
</sub-component>
</sub-components>
</component>我想我遗漏了一些东西,因为组件没有显示出来。我有两个名为custom-slingshot的文件,我尝试了tomcat/shared/classes/alfresco/web-extension和tomcat/webapps/share/WEB-INF/classes/alfresco/web-extension。
我是不是完全错了?这样有可能实现我想要的东西吗?我应该如何继续?
发布于 2016-11-25 19:35:26
有一个预定义的赋值器,用于检查节点是否具有名为evaluator.doclib.action.hasAspect.的方面您只需创建一个以此计算器作为父对象的bean,并在属性中给出一个要检查的方面:
*在web扩展中添加了一些-context.xml
<bean id="my.custom.evaluator" parent="evaluator.doclib.action.hasAspect">
<property name="aspects">
<list>
<value>my:hasInvoiceAspect</value>
</list>
</property>
</bean>然后,您将在添加到* DocLibActions -Modes.xml(web-extension/site-data/extensions)的扩展配置中引用该bean ...
<config condition="DocLibActions" evaluator="string-compare">
<actions>
<action...>
<!-- Custom evaluator -->
<evaluator>my.custom.evaluator</evaluator>
</action>
</actions>
</config>瞧。
有关predefined evaluators的更多信息。很好的样例项目here。
https://stackoverflow.com/questions/40801229
复制相似问题