在我的网站中,他们已经配置了5个网站。SiteName: A、B、C、D、E。
我希望有能力自定义这两个文本片段的网站使用每个文本字段的网站特定的资源(本地化)字符串。
这些资源字符串应该可以由管理员在Kentico上配置,并且应该能够由每个站点配置。
在Kentico中,这些字符串的当前名称分别是标题和描述的“A.Checkout.EmailTitle”和“A.Checkout.EmailDescription”。
我使用以下代码:
公共string站点( string GetPerSiteResourceString,string 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")
发布于 2019-07-02 20:58:43
正如我在your question on the Kentico DevNet上提到的,Kentico没有设置为开箱即用来处理此问题。
但是,您概述的方法可以用于检索数据,但是没有办法限制谁有权编辑什么内容,除非您修改了Kentico和/或为每个站点创建了新的本地化列表页面。
如果要创建一个新模块,然后创建只能由单个站点用户访问的新页面,则可以设置WHERE条件以查看关键字字符串的开头,并将其与当前站点进行比较。
https://stackoverflow.com/questions/56850298
复制相似问题