2

I know how resolving and rendering works in DWT Based Applications. Whenever we Publish a Page, Resolve Engine Resolves all CT's in the page and Render Engine generated tcdl tags based on the kind of CT it renders (Dynamic and Static CT's) Deployer understands tcdl tags and simply remove these tags while deploying to the file system.

Now, my question is What happens if DD4T Templates are there , i know DD4T TBB's are there which creates Json Data. But Does resolver still resolves in the same way and rendering engine adds tcdl tags ? What Deployer does in this case ?

3

In DD4T templates TBBs output will not generate tcdl tags anymore.

In the JSON it will keep the link text as it's like below eg.

<a xlink:href="tcm:8-11147" xlink:title="Test Link" xmlns:xlink="http://www.w3.org/1999/xlink">test atata</a>

In the DD4T Web app presentation side, by default DD4T framework, it will resolve the component links and RichText links on the fly when building the ViewModel based on your ViewModel class field mapping and it's getting resolved.

[LinkedComponentField(FieldName = "ComponentLink")]
public LinkComponent ComponentLink { get; set; }

[RichTextField(FieldName = "Body")]
public MvcHtmlString Body { get; set; }

DefaultRichTextResolver.cs source on DD4T framework
DefaultLinkResolver.cs source on DD4T framework

In case if you want to do customization on both classes, you can also do that by copy that class to your project solution get registered with your Global.asax.cs with your ContainerBuilder as like below eg.

 builder.RegisterType<CustomLinkResolver>().As<ILinkResolver>();
 builder.RegisterType<CustomRichTextResolver>().As<IRichTextResolver>();

I hope it helps to understand you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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