0
我正在使用sitecore 7单个站点实例。 内容编辑器生成链接到其他网页Sitecore的这种格式Sitecore 7,链接管理器,alwaysIncludeServerUrl不工作
<a href="~/link.aspx?_id=C136420D804946BA83DEF823817F5944&_z=z">Agriculture</a>
后发布链接不会转化为实际的服务器相关的URL。 我已经chnaged链接管理器设置“alwaysIncludeServerUrl”为true,但仍然没有得到正确的URL。
我已发布该页面,但仍未显示实际的网址。
更新:我不能在这里使用字段控制,因为有一些额外的逻辑控制着什么文本需要被渲染。例如,如果定义了页面数据源,则使用该数据源,否则使用当前项目的“ContentBlock”字段。
public string ContentBlockContent = "";
Sitecore.Data.Items.Item currentItem;
if (Parent is Sublayout && !string.IsNullOrEmpty(((Sublayout) Parent).DataSource))
{
currentItem = Sitecore.Context.Database.GetItem(((Sublayout) Parent).DataSource);
}
else
{
currentItem = Sitecore.Context.Item;
}
if (currentItem.Fields["ContentBlock"] != null)
{
ContentBlockContent = currentItem.Fields["ContentBlock"].ToString();
}
if (currentItem.Fields["PageContentSource"] != null)
{
var contentPageSource = currentItem.Fields["PageContentSource"];
var sourceItem = Sitecore.Context.Database.GetItem(contentPageSource.ToString());
if (sourceItem != null && sourceItem.Fields["ContentBlock"] != null)
{
ContentBlockContent = sourceItem.Fields["ContentBlock"].ToString();
}
}
这就是“ContentBlockContnet”属性如何呈现在页面上。
<%= ContentBlockContent %>
我已经添加了一点点细节。 – Ali
终于奏效了。我使用了FieldRenderer.Render(sourceItem,“ContentBlock”) – Ali