4

After addinng TCDL region on page template, and after publishing tags loosk like below

            <tcdl:promotions region='PromoBox' maxItems='1'> 
                <tcdl:itemTemplate> 
                    <tcdl:promotionalItems> 
                        <tcdl:itemTemplate> 
                                <tridion:ComponentPresentation runat="server" PageURI="tcm:80-4632-64" ComponentURI="##componentUri##" TemplateURI="##templateUri##"/> 
                        </tcdl:itemTemplate> 
                    </tcdl:promotionalItems> 
                </tcdl:itemTemplate> 
                <tcdl:fallbackContent> 


                </tcdl:fallbackContent> 
            </tcdl:promotions> 

        </tcdl:query> 
        </tcdl:region>

but all tcdl tags must be converted into smartarget as below.

        <smarttarget:Query PageId="tcm:55-5995-64" Publication="tcm:0-55-1" runat="server"> 

            <smarttarget:Promotions MaxItems="1" Region="PromoBox" runat="server"> 
                <ItemTemplate> 
                    <smarttarget:PromotionalItems runat="server"> 
                        <ItemTemplate> 
                                <tridion:ComponentPresentation runat="server" PageURI="tcm:55-5995-64" ComponentURI="<%# Eval(&quot;ComponentUri&quot;) %>" TemplateURI="<%# Eval(&quot;TemplateUri&quot;) %>"/> 
                        </ItemTemplate> 
                    </smarttarget:PromotionalItems> 
                </ItemTemplate> 
                <FallbackContent> 


                </FallbackContent> 
            </smarttarget:Promotions> 

        </smarttarget:Query> 
           <!-- End Promo -->

Any Idea why these are not getting converted.

1 Answer 1

6

SmartTarget tcdl tags are transformed by the Tridion Deployer. The SmartTarget module needs to be added to the cd_deployer_conf.xml.

add the following to the <Processors> element

<Processor Action="Deploy" Class="com.tridion.deployer.Processor" Phase="post-transaction">     
   <Module Type="SmartTargetDeploy" Class="com.tridion.smarttarget.deployer.FredhopperDeployerModule">        
     <Transformer Class="com.tridion.deployer.TCDLTransformer"/>    
   </Module>  
</Processor>   
<Processor Action="Undeploy" Class="com.tridion.deployer.Processor" Phase="post-transaction">      
  <Module Type="SmartTargetUndeploy" Class="com.tridion.smarttarget.deployer.FredhopperUndeployModule"/>    
</Processor>

and add the following TagBundle to the <TCDLEngine> element:

<TagBundle Resource="com/tridion/smarttarget/tcdl/tagbundle.xml"/> 

If the deployer is configured correctly, verify if the PublicationTarget language is set to ASP.NET or JSP

2
  • 1
    Cool! I resolved already. I had already implemented same on multiple projects but this time, I was verifying my changes in separate deployer but publishing was going through different deployed. Commented Apr 29, 2015 at 9:19
  • 4
    If this is the correct answer, can you accept it? It will help other people with the same issue Commented Apr 29, 2015 at 10:50

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.