我正在尝试通过PageEditor实现Sitecore词典项目。
这是我的方法..只需要你的想法和建议。
为了简单起见而不是弄乱管道,这是我正在做的一个简单方法。
通常你会做一个sitecore翻译,例如,
@ Sitecore.Globalization.Translate.Text(" SomeKey&#34)
您可以将Translate封装到可能类似于
的自定义类中public static class ResourceController
{
public static Dictionary ItemLookUp()
{
///get dictionary path..etc.. code not included
//read all sitecore dictionary Items
Sitecore.Data.Items.Item[] items =
Sitecore.Context.Database.SelectItems("fast:" + dictionaryPath +
"//*[@@templateid='{6D1CD897-1936-4A3A-A511-289A94C2A7B1}']");
//build a Dictionary<string,string> using sitecore item key and Guid.
items.All(y => { resourceDictionary.Add(y["Key"], y.ID.Guid.ToString()); return true;}
// Key,Guid dictionary
return resourceDictionary;
}
}
CustomTranslate.Text在PageEdit模式下返回FieldRenderer,否则返回Sitecore.Globalization.Translate.Text
然后在您的代码中,您可以将翻译称为
@ CustomTranslate.Text(&#34; SomeKey&#34)
Lookup可以是Key和Item ID的字典,如下面的代码所示,
Y
更简单,更简单的方法!思考,评论?