SITECORE MANIA 開発者向け技術ブログ

その他

築地

築地

SitecoreTokens

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のバージョンによって実装されている機能が異なります。

この記事を読んだ人はこちらの記事も読んでます

Sitecore導入に関するご相談・資料ダウンロード

導入をご検討・ご依頼の方や、サービスについてご不明点がございましたらお気軽にお問い合わせください。

Sitecoreの運用問題を解決する

既にSitecoreを導入しているお客様向けサービス