将target ="_ blank"添加到Sitecore中的常规链接

use*_*013 0 sitecore sitecore6

我在sitecore中有一般字段,可以有内部或外部链接.我只需要为外部链接添加target ="_ blank".

我尝试在Sitecore中单击"插入外部链接"时将目标窗口设置为新浏览器,但没有用.

如果我也从代码中添加target = _blank也没问题.

代码:

        UrlOptions urlOptions = new UrlOptions();
        urlOptions.LanguageEmbedding = LanguageEmbedding.Never;                        

        Title = FieldRenderer.Render(item, "Title");            
        Summary = FieldRenderer.Render(item, "Short Description");
        Details = FieldRenderer.Render(item, "Details");
        Sitecore.Data.Fields.LinkField lf = item.Fields["TitleUrl"];

        if (lf.Url != "")
        {                              
            ItemUrl = EFI.Library.SitecoreDataUtil.GetUrlForLinkField(lf, item, urlOptions);                

        }
        else
        {
            ItemUrl = LinkManager.GetItemUrl(item);
        }
Run Code Online (Sandbox Code Playgroud)

jam*_*kam 5

你试过以下吗?

使用target ="_ blank"在Sitecore中渲染常规链接

如果您不想嵌入语言,可以通过设置为web.config中所有链接设置languageEmbedding="never":

<linkManager defaultProvider="sitecore">
  <providers>
    <clear />
    <add name="sitecore" type="Sitecore.Links.LinkProvider, Sitecore.Kernel" addAspxExtension="true" alwaysIncludeServerUrl="false" encodeNames="true" languageEmbedding="never" languageLocation="filePath" shortenUrls="true" useDisplayName="false" />
  </providers>
</linkManager>
Run Code Online (Sandbox Code Playgroud)

或者您可以以http开头的所有锚标记上使用jQuery在新窗口中打开链接:

$(document).ready(function(){
  $('a[href^=http]').click(function(){
    window.open(this.href);
    return false;
  });
});
Run Code Online (Sandbox Code Playgroud)