2016-11-17 17 views
0

私はAEM 6.2で作業しており、カスタム複製モジュールを作成しました。 jcr:contentの下にある私のページの子ノードには、同じWebサイトの別のページへのパスフィールドを持つプロパティがあります。 ページをアクティブにしているときに、プロパティで参照されているページも有効にする必要があります。 たとえば、私のページパスは "/ content/project/family/subfamily/TestPage" "/ content/project/family/subfamily/TestPage/abc123下のノードプロパティ" pathVal "でページパスを有効にする必要があります/ jcr:content "と入力します。 どうすればいいですか?AEM-ノードプロパティのページ参照をページと共に有効にする

答えて

0

は私が行くための方法かもしれない(docsを参照)、レプリケーションPreprocessorを書く

カスタム複製モジュール


によって何を意味するかわかりません。レプリケーションプロセスは、ホワイトボードパターンを使用して、そのインタフェースのすべての実装を収集し、それらの各プロセスを起動します。

@Component 
@Service 
public class ReferencedPagePreprocessor implements Preprocessor { 

    @Reference 
    private Replicator replicator; 

    @Reference 
    private ResourceResolverFactory resolverFactory; 

    public void preprocess(ReplicationAction action, ReplicationOptions options) { 
     // some extra filtering to avoid the calculation if it's not the expected page type 

     String resourcePath = action.getPath(); 
     ResourceResolver resolver = getResolver(); 
     Resource resource = resolver.resolve(resourcePath); 
     String referencedResourcePath = resource.adaptTo(ValueMap.class).get("pathVal", String.class); 

     replicator.replicate(resolver.adaptTo(Session.class), ReplicationActionType.ACTIVATE, referencedResourcePath); 
    } 

    private ResourceResolver getResolver() { 
     ... 
    } 
} 

私が正しく理解していれば、あなたがページを活性化し、独自のワークフロー・プロセスを実装しているのいずれかまたははMateuszによって概説として、あなたがPreprocessorのアプローチを踏襲しているだろうACS AEM Commons

0

での実装例にも見てみましょうChromiński。

は、ケースであなたが効果的に参照するパスを取得するためにロジックを追加し、Replicator APIを使用してそれらをアクティブに呼び出すことができReplicator APIを呼び出して、独自のワークフロー・プロセスを書かれている

関連する問題