在我的站点中,他们已经在5个站点中进行了配置。网站名称:A,B,C,D,E。
我希望能够使用每个文本字段的特定于站点的资源(本地化)字符串来按站点自定义这两段文本。
这些资源字符串应可由Kentico上的管理员配置,并且应该能够由每个站点配置。
Kentico中这些字符串的当前名称分别是标题和描述的“ A.Checkout.EmailTitle”和“ A.Checkout.EmailDescription”。
我使用以下代码:
公共字符串GetPerSiteResourceString(字符串名称,字符串site =“”)
{
if (string.IsNullOrEmpty(site))
{
site = SiteContext.CurrentSiteName;
}
var fullname = $"{site}.{name}";
var perSiteStringInfo = ResourceStringInfoProvider.GetResourceStringInfo(fullname, LocalizationContext.CurrentCulture.CultureCode);
if (perSiteStringInfo != null && perSiteStringInfo.StringID > 0)
{
return perSiteStringInfo.TranslationText;
}
return ResHelper.GetString(name, LocalizationContext.CurrentCulture.CultureCode);
}
标题= resources.GetPerSiteResourceString(“ Kadena.Checkout.EmailTitle”), 说明= resources.GetPerSiteResourceString(“ Kadena.Checkout.EmailDescription”)
答案 0 :(得分:0)
正如我在your question on the Kentico DevNet上提到的那样,Kentico尚未设置为立即可用。
但是,您概述的方法将可用于检索数据,但是除非您修改Kentico UI和/或为每个站点创建新的本地化列表页面,否则无法限制谁有权编辑内容。
如果要创建一个新模块,然后创建只能由单个站点用户访问的新页面,则可以设置WHERE条件以查看键字符串的开头并将其与当前站点进行比较。