Sitecoreで入れ込みをするとき初期値が入れるときに使うことができる
Sitecore Tokensについて説明します
Sitecore Tokensとは
Sitecore Tokensとは、テンプレートのスタンダードバリューに設定しておくと、そのテンプレートのアイテム作成時に対応した値を表示してくれる文字列です
スタンダードバリュー
アイテム作成時
既存のSitecore Tokens
Token |
アイテム作成時の値 |
$name |
アイテムの名前 |
$id |
アイテムの ID |
$parentid |
アイテムの親の ID |
$parentname |
アイテムの親の名前 |
$date |
システム日付 (yyyyMMdd) |
$time |
システム時刻 (HHmmss) |
$now |
日時 (yyyyMMddTHHmmss) |
カスタム方法
上記の既存のSitecore Tokens以外の初期値を設定したい場合、
ExpandInitialFieldValueProcessorクラスを拡張しカスタムすることもできます
例
$urlをスタンダードバリューに設定したら現在のアイテムのURLが値に表示されるようにする
ExpandInitialFieldValueProcessorを拡張したクラス
using Sitecore.Diagnostics;
using Sitecore.Links;
using Sitecore.Links.UrlBuilders;
using Sitecore.Pipelines.ExpandInitialFieldValue;
namespace Test.Website.SitecorePipelines
{
public class CustomSitecoreToken : ExpandInitialFieldValueProcessor
{
private const string _Token = "$url";
public override void Process(ExpandInitialFieldValueArgs args)
{
Assert.ArgumentNotNull(args, "args");
string value = args.SourceField.Value;
// これから作成されるアイテムのフィールドの値が「$url」のとき
if (value == _Token)
{
// これから作成されるアイテムのURLを取得
string url = LinkManager.GetItemUrl(args.TargetItem, new ItemUrlBuilderOptions
{
AlwaysIncludeServerUrl = true
});
args.Result = url;
}
}
}
}
既存のSitecore Tokens置換処理後にカスタマイズするようのconfig
※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。