【问题标题】:Sitecore, and undesidered danish version when programatically adding an item以编程方式添加项目时,Sitecore 和不受欢迎的丹麦语版本
【发布时间】:2013-01-17 19:59:32
【问题描述】:

我正在以编程方式将版本添加到 sitecore 数据库。该项目正在工作流程中。一切都很好,但我在工作流程中获得了带有英语和丹麦语版本的项目。我想摆脱丹麦版本或避免首先创建它。 这是我的代码 sn-p

var database = Sitecore.Configuration.Factory.GetDatabase("master");
Sitecore.Data.Items.Item itm = database.GetItem(Constants.Sitecore.CommonPages.JOB_LISTINGS);

using (new Sitecore.SecurityModel.SecurityDisabler())
{
    TemplateItem itemTemplate = database.GetItem(Constants.Sitecore.Templates.JOB);


    Item scInnerItem = itm.Add(ItemUtil.ProposeValidItemName(string.Format("{0} {1}", jb.JobId, jb.PositionTitle.RemoveSpecialCharacters())), itemTemplate);
    Job scJob = new Job(scInnerItem);

    using (new EditContext(scInnerItem))
        scJob.GetJobFromUserJob(jb);

    return (IBaseSitecoreItem)scJob;
}

【问题讨论】:

  • 如果我没记错的话,丹麦语是主页有版本的默认语言之一,除了英语是唯一安装的语言(默认情况下)。也许是因为这个。删除其他语言版本并尝试。

标签: .net c#-4.0 content-management-system sitecore


【解决方案1】:

默认情况下确实安装了丹麦语,但在实际添加项目时它不应该打扰/烦扰您。 这里有两点需要检查:

1)您网站的默认语言是什么,请检查 web.config 中的节点
2)Job 模板是否有任何标准值,它们是否是丹麦语?

【讨论】:

  • 换个说法,有什么办法可以避免通过代码插入丹麦语版本吗?
【解决方案2】:

我能想到几点: 使用 LanguageSwitcher 临时更改代码中的上下文语言。所以换成英文吧。

当您检索存储新项目的父项目时,您必须已经切换了语言。 不知何故,加载父项时的上下文语言将定义新创建版本的语言。

希望有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-20
    相关资源
    最近更新 更多