kentico - 如何在每个站点中创建 kentico 站点特定的资源字符串?
问题描述
在我的站点中,他们配置了 5 个站点。站点名称:A、B、C、D、E。
我希望能够使用每个文本字段的站点特定资源(本地化)字符串按站点自定义这两个文本。
这些资源字符串应该可以由 Kentico 上的管理员进行配置,并且应该能够由每个站点进行配置。
Kentico 中这些字符串的当前名称分别是标题和描述的“A.Checkout.EmailTitle”和“A.Checkout.EmailDescription”。
我使用下面的代码:
公共字符串GetPerSiteResourceString(字符串名称,字符串站点=“”)
{
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")
解决方案
正如我在 Kentico DevNet 上的问题中提到的那样,Kentico 并未设置为开箱即用地处理此问题。
但是,您概述的方法适用于检索数据,但无法限制谁有权编辑内容,除非您修改 Kentico UI 和/或为每个站点创建新的本地化列表页面。
如果您要创建一个新模块,然后创建只能由单个站点用户访问的新页面,您可以设置 WHERE 条件以查看键字符串的开头并将其与当前站点进行比较。
推荐阅读
- c++ - 如何理解我的 clion 性能分析报告?
- c++ - Convert Linux Debian gcc command to CMakeLists.txt
- firebase - Firebase 消息传递的插件和版本冲突
- vb.net - 添加到表单时,用户控件空格
- python - Dropbox OAuth2 Flow 和 CSRF 保护:webhook 是为哪个用户提供的?
- java - 当它改变位置时,是否有任何方法可以跟踪列表视图中的项目?
- python - 将函数调用注入python函数
- python - 如何将来自两个不同字典的键组合成一个列表,该列表是第三个字典的值
- r - 使用 R 和 gsub 有没有办法删除两个特殊字符并用一个替换
- flutter - 如何使用 BLoC 以编程方式关闭 CupertinoActionSheet?