4

当我打开配置了 SmartTarget 的网页时,我收到两个不同的错误:

错误 1

我第一次收到此错误:

Server Error in '/' Application.
--------------------------------------------------------------------------------
com/tridion/marketingsolution/profile/Contact
================================================
Some configured classpath roots cannot be found
================================================
ClassPath           : C:\tridion\Publicationsites\TestRD\staging\bin\bin

我不确定第 2 行是如何出现的,但是当我在已经存在的 bin 文件夹中添加另一个 bin 文件夹时,错误就出现了。任何配置文件有问题吗?

错误 2

当我在应用上述错误的解决方法后打开页面时,我收到以下错误

Unknown server tag 'smarttarget:Query'.
<smarttarget:Query View="lister" AllowDuplicates="true" Timeout="5000"
                  Publication="tcm:0-14-1" runat="server" Id="as"> 
Line 3: <smarttarget:Item runat="server" TemplateUri="tcm:14-1319-32"
                          ComponentUri="tcm:14-1321"></smarttarget:Item>

我需要在哪里添加 smarttarget 标签?它应该在 web.config 文件中吗?你能分享一下语法吗?我试图准确地实现实时文档中提到的 ST。有什么地方需要重新检查吗?

问题 3

我在下面粘贴我的复合页面模板的屏幕截图: 复合页面模板

当我发布此页面时,主页面设计 TBB 中的 HTML 标记根本没有发布。只有由 Add SmartTarget to Promotion TBB 生成的标记存在于 aspx 页面中。

<smarttarget:Query View="lister" AllowDuplicates="true" Timeout="5000"
                       Publication="tcm:0-14-1" runat="server" Id="as"> 
    <smarttarget:Item runat="server" TemplateUri="tcm:14-1319-32"
                              ComponentUri="tcm:14-1321"></smarttarget:Item> 

    <smarttarget:Promotions MaxItems="2" Region="sidebar" runat="server"> 
        <ItemTemplate> 
            <smarttarget:PromotionalItems runat="server"> 
                <ItemTemplate> 
                        <tridion:ComponentPresentation runat="server" 
                        PageURI="tcm:14-1119-64" 
                        ComponentURI="<%# Eval(&quot;ComponentUri&quot;) %>" 
                        TemplateURI="<%# Eval(&quot;TemplateUri&quot;) %>"/> 
                </ItemTemplate> 
            </smarttarget:PromotionalItems> 
        </ItemTemplate> 
        <FallbackContent> 
            <tridion:ComponentPresentation runat='server' 
                        ComponentUri='tcm:14-1322' 
                        TemplateUri='tcm:14-1323-32'/> 
        </FallbackContent> 
    </smarttarget:Promotions> 
</smarttarget:Query> 

我的实施正确吗?

4

1 回答 1

6

一篇文章中有很多问题,但我会在这里尝试回答。

  1. 看起来您没有正确的 Tridion 主目录,它最终会检查当前目录下的“bin”。请参阅我关于如何解决这个问题的博客文章(以及如何解决它):Tridion Content Delivery 如何加载配置文件 (.NET)
  2. 这是标准的 .NET 功能。您可以在同一页面中定义前缀,或者根据建议,在 web.config 中定义前缀。web.config 的确切标记是:<add tagPrefix="smarttarget" namespace="Tridion.SmartTarget.Web.UI" assembly="Tridion.SmartTarget" />
  3. 包中只使用了一个“输出”项目(添加的最后一个)。因此,您当前拆分 Dreamweaver 模板的方式确实意味着您只能从“ST 页面区域”获得输出。我不知道它的意图是什么,所以除了摆脱它并将 tcdl:region 直接放在“Main Page Design TBB”中之外,我无法提出解决它的好方法。

祝你好运:)

于 2012-06-15T11:21:49.347 回答