2017-01-16 11 views
1

AEMクラシックUIには、プログラマがpredicate属性を指定して選択可能なページをフィルタできるようにするpathfield xtypeがあります。AEM Granite UIパスブラウザで表示されるページをフィルタリングする方法は?

predicate属性の値によって、どのページがパスフィールドに表示されるかが決まります。 OOTBの数がなど'hierarchy''folder''hierarchyNotFile'

一つとしてorg.apache.commons.collections.Predicateクラスを実装するOSGiサービスを書き込むことによって、カスタム述語を提供することができ述語があります。具体的には、実装はpredicate.nameプロパティの値によって選択されます。例えば

@Service(Predicate.class) 
@Component(metatype = false) 
@Properties(@Property(name = "predicate.name", value = "productPage")) 
public class ProductPagePredicate extends com.day.cq.commons.predicate.AbstractNodePredicate { 

    @Override 
    public boolean evaluate(Node n) { 
     // return true or false depending on the state of the node 
    } 
} 

は、次の方法を使用することができます

<productPath 
    jcr:primaryType="cq:Widget" 
    allowBlank="false" 
    predicate="[productPage]" <-- refers to the OSGi service 
    fieldLabel="Product" 
    name="./productPath" 
    xtype="pathfield"/> 

はパスフィールドのタッチUIと同等にカスタマイズ同様のレベルを達成するための方法はありますか?

私は、ウィジェットgranite/ui/components/foundation/form/pathbrowserが多くのOOTBコンポーネント(特にfoundation/components/image)によって使用されていることがわかります。これは、新しいインターフェースのパスフィールドの1:1置換のように見えます。それは1ページまたはアセットを選択することができます素敵なインタフェースを起動します

Path Browser field in a Touch UI dialog

はクリック:しかし、私は、フィールドが次のようになりますGranite UI documentation for AEM 6.2

にそれへの参照を見つけることができません。

Path selection in the path browser field

どのように私はタッチUIパスブラウザで利用可能なページをフィルタリングすることができますか? Classic UIで使用するために定義済みのPredicateを使用する方法はありますか?

答えて

5

AEM 6.2では、以前と同じように動作し、以前のバージョンで作成された述語は再利用できます。

あなたはgeometrixxの例を見つけることができます:

/libs/foundation/components/reference/cq:dialog/content/items/column/items/reference 

ここでは、フィールドの定義そのものだ(この記事の目的のためにXMLにシリアライズ)

<reference 
    fieldLabel="Reference" 
    jcr:primaryType="nt:unstructured" 
    name="./path" 
    predicate="nosystem" 
    rootPath="/content" 
    sling:resourceType="granite/ui/components/foundation/form/pathbrowser" /> 

あなたはコンポーネントがこのフィールドを使用してどのように見ることができますこのGeometrixxページをご覧ください:

/content/geometrixx/en/company/bod/jcr:content/par/reference_1 
関連する問題