0

プログラムでサイトコア データベースにバージョンを追加しています。アイテムはワークフロー中です。すべて問題ありませんが、ワークフローで英語版とデンマーク語版のアイテムを取得します。デンマーク語版を削除するか、そもそも作成を避けたいと思います。これは私のコードスニペットです

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;
}
4

2 に答える 2

0

コード内のコンテキスト言語を一時的に変更するには、LanguageSwitcher を使用します。というわけで英語に切り替えます。

新しいアイテムを格納する親アイテムを取得するときは、言語を既に切り替えている必要があります。どういうわけか、親アイテムをロードするときのコンテキスト言語が、新しく作成されたバージョンの言語を定義します。

それが役立つことを願っています!

于 2013-01-23T18:11:58.317 に答える
0

デンマーク語は確かにデフォルトでインストールされていますが、実用的にアイテムを追加している間、あなたを悩ませたり悩ませたりするべきではありません. 以下の 2 点を確認してください。

1) あなたのサイトのデフォルト言語は何ですか? web.config のノードを確認してください

于 2013-01-18T13:12:16.567 に答える