【发布时间】:2017-04-19 03:26:47
【问题描述】:
我正在使用 sitecore 7 单站点实例。 内容编辑器正在以这种格式生成指向其他站点核心页面的链接
<a href="~/link.aspx?_id=C136420D804946BA83DEF823817F5944&_z=z">Agriculture</a>
发布后链接不会转换为实际的服务器相关 URL。 我已将链接管理器设置“alwaysIncludeServerUrl”更改为 true,但仍未获得正确的 URL。
我已发布页面,但仍未显示实际 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 %>
【问题讨论】: