We have a component with two dynamic component templates DCT-A, DCT-B and two publishing targets PT-X, PT-Y.

We need to publish the component using both DCT-A, DCT-B CTs for PT-X publishing target and for PT-Y publishing target, we need to publish the component using DCT-A CT and need to exclude the content publishing using DCT-B CT.

Could anyone suggest the way to achieve this implementation.

2 Answers 2


A Dynamic Component Template is linked to a Schema (which forms the links to Components based on that Schema).

By default when you publish a Dynamic Component Presentation (either by publishing a Component using the linked Schema in the CT, or by publishing one of the Dynamic CTs), the Publish Resolver will add all available DCPs to the Publish Transaction.

To change this behaviour (which I would reccomend against btw, since it is changing default behaviour and removing items which at some point, somebody might question why they are removed), the only option you have is adding a Custom Resolver (and that will need to determine to which target the publish action is, so that it can decide whether to remove some DCPs).

There is a list of some blogposts and a code example code of a custom resolver:


You could split the publish across publications (so have a publication 1 for publication target Y and a publication 2 for X). You would let publication 2 inherit from publication 1. The DCT A would exist in publication 1 (and blueprint on to publication 2) and DCT B would exist only in publication 2. Publishing to Y from publication 1 would only render DCT A (as DCT B doesn't exist in this publication) where publishing to X from publication 2 would render DCT A and DCT B.

Varying output, or DCT relations by publication target is not how Tridion is intended so I would advise against custom resolvers to achieve this feature this way. Using separation at the publication level to achieve variation of output of this type is the "normal" way to do this using Tridion.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.