1

カスタム ユーザー インターフェイスを使用して、Sitecore API を介してプログラムで Sitecore アイテムを保存しています。

Sitecore では名前の重複を許可しておらず、Sitecore ではアイテム名に特定の文字を含めることを許可していないため、クロック ティックをアイテム名として保存することにしました。しかし、これはコンテンツ編集者にとってユーザーフレンドリーではありません。また、これらの URL は検索エンジン最適化されていません (人間が判読できないため)。

この問題を解決するための推奨されるアプローチは何ですか? アイテムの「タイトル」をアイテム名として保存する場合、名前の重複をどのように処理できますか?

4

1 に答える 1

6

DisplayNameタイトルとそのサニタイズされたバージョンを次のように保存するために使用する必要がありますName

string title = "Name with $tr@nge characters!";

// remove incorrect characters and add postfix if necessary to make it unique
string itemName = Sitecore.Data.Items.ItemUtil.GetUniqueName(parentItem, 
    Sitecore.Data.Items.ItemUtil.ProposeValidItemName(title));

Item item = parentItem.Add(itemName, template);

using (new EditContext(item))
{
    item.Fields[FieldIDs.DisplayName].Value = title;
}

ここに画像の説明を入力

于 2013-04-08T09:16:10.783 に答える