当我打开配置了SmartTarget的网页时,我收到两个不同的错误:
我第一次收到此错误:
Server Error in '/' Application.
--------------------------------------------------------------------------------
com/tridion/marketingsolution/profile/Contact
================================================
Some configured classpath roots cannot be found
================================================
ClassPath : C:\tridion\Publicationsites\TestRD\staging\bin\bin
Run Code Online (Sandbox Code Playgroud)
我不确定第2行如何进入图片,但是当我在已经存在的bin文件夹中添加另一个bin文件夹时,错误就会消失.任何配置文件有问题吗?
在我为上述错误应用解决方法后打开页面时,收到以下错误
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>
Run Code Online (Sandbox Code Playgroud)
我在哪里需要添加smarttarget标签?它应该在web.config文件中吗?你能分享一下语法吗?我试图准确地实现ST,如实时文档中所述.我需要重新检查的任何区域?
我正在粘贴下面的复合页面模板的屏幕截图:

当我发布此页面时,主页面设计TBB中出现的HTML标记根本不会发布.只有添加SmartTarget到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("ComponentUri") %>"
TemplateURI="<%# Eval("TemplateUri") %>"/>
</ItemTemplate>
</smarttarget:PromotionalItems>
</ItemTemplate>
<FallbackContent>
<tridion:ComponentPresentation …Run Code Online (Sandbox Code Playgroud) 我已将Fredhopper安装在与Tridion所在的服务器不同的服务器上,并按照说明为此使用此处的说明设置了Fredhopper的SmartTarget部署Web服务(需要登录):
我应该可以转到我新部署的Web服务并查看WSDL,但是在尝试这样做时,我收到了404消息.如果我转到http:// [machinename]:8180/SmartTargetDeploymentWebService/SmartTargetDeploymentWebService我可以获得一个显示可用方法的页面,但单击WSDL链接不起作用.
这是一个问题的原因是因为从SDL Tridion 2011 SP1向Fredhopper部署内容不起作用,因为它无法读取服务的WSDL:
阶段:部署处理阶段失败,无法通过Web服务保留fredhopper XML,无法访问WSDL:http:// [machinename]:8180/SmartTargetDeploymentWebService/SmartTargetDeploymentWebService?wsdl.它失败了:http:// [machinename]:8180/SmartTargetDeploymentWebService/SmartTargetDeploymentWebService?wsdl
发现有人在Tridion论坛上遇到了同样的问题,但没有找到解决方案:
https://forum.sdltridion.com/topic.asp?TOPIC_ID=7415
有没有人遇到过这个问题?谢谢!
我在Tridion中有一个可以有多个值的纯文本字段.itemtype是SingleLineTextField.
在TBB代码中,我有以下内容(删除了非必要部分):
ItemFields itemFields = new ItemFields(folder.Metadata, folder.MetadataSchema);
foreach (ItemField itemField in itemFields)
{
string itemFieldValue = string.Empty;
switch (Utilities.GetFieldType(itemField))
{
case FieldType.SingleLineTextField:
itemFieldValue = itemField.ToString();
break;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,两个条目的结果只是两个字符串,其中包含一个字符行.
String A
String B
Run Code Online (Sandbox Code Playgroud)
使用的方法是通用的,也适用于其他字段,所以我一直在寻找一些方法来确定SingleLineTextField中是否有更多的值.