2016-11-25 9 views
0

コンポーネントを作成しましたが、そのコンポーネントがドキュメントの詳細ページに表示されるようにするには、そのドキュメントに特定のアスペクトがある場合のみ、エバリュエータを使用しようとしました。私は、コンポーネントが表示されないように私が何かを見逃していると思い、私はこのカスタムコンポーネントのalfrescoエバリュエータ

<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> 

を追加document-details.xmlcustom-slingshot-application-context.xml

<bean id="evaluator.doclib.metadata.hasInvoiceAspect" 
     parent="evaluator.doclib.action.propertyNotNull"> 
    <property name="property" value="inv:invoice"/> 
</bean> 

でこのBeanを追加しました。私は、カスタムslingshotという名前の2つのファイルを持って、私はtomcat/shared/classes/alfresco/web-extensiontomcat/webapps/share/WEB-INF/classes/alfresco/web-extensionを試してみました。

私はこれに完全に間違っていますか?私が好きなものを達成することは可能ですか?私はどのように進めるべきですか?

答えて

2

ノードにevaluator.doclib.action.hasAspectというアスペクトがあるかどうかを確認するための定義済みエバリュエーターがあります。あなたは、単に親としてこの評価を持つBeanを作成し、プロパティでチェック対象の様相を与える必要があります。

*あなたは「その後、ウェブ延長にいくつかの-context.xmlに

<bean id="my.custom.evaluator" parent="evaluator.doclib.action.hasAspect"> 
    <property name="aspects"> 
     <list> 
      <value>my:hasInvoiceAspect</value> 
     </list> 
    </property> 
</bean> 

を追加しましたLLリファレンスあなたDocLibActionsの設定でBeanが追加されたことへの*拡張-modules.xml(ウェブ延長/サイトデータ/拡張)...

<config condition="DocLibActions" evaluator="string-compare"> 
    <actions> 
     <action...>   
      <!-- Custom evaluator --> 
      <evaluator>my.custom.evaluator</evaluator> 
     </action> 
    </actions> 
</config> 

出来上がり。

さらに詳しい情報:predefined evaluators 良いサンプルプロジェクトhere

関連する問題