【问题标题】:Sitecore 7, Link manager, alwaysIncludeServerUrl not workingSitecore 7,链接管理器,alwaysIncludeServerUrl 不起作用
【发布时间】:2017-04-19 03:26:47
【问题描述】:

我正在使用 sitecore 7 单站点实例。 内容编辑器正在以这种格式生成指向其他站点核心页面的链接

<a href="~/link.aspx?_id=C136420D804946BA83DEF823817F5944&amp;_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  %>

【问题讨论】:

    标签: sitecore sitecore7


    【解决方案1】:

    >>发布后链接不会转换为实际的服务器相关URL。 发布后不转换,页面渲染时转换。 确保使用 Sitecore 呈现控件呈现内容字段,例如sc:text, sc:link or FieldRenderer。这样,Sitecore 将运行 “renderField” 管道,该管道负责链接转换。

    【讨论】:

    • 我添加了更多细节。
    • 终于成功了。我使用 FieldRenderer.Render(sourceItem, "ContentBlock")
    猜你喜欢
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多