Kentico 11中如何在转换内将文本格式化为标题大小写?
Kentico 11 转换中实现标题大小写的解决方案
方法一:自定义宏转换方法(推荐)
由于Kentico转换环境限制无法直接调用后台Helper类,可通过自定义宏方法实现:
- 进入Kentico后台,依次打开系统 → 宏 → 宏方法,新建自定义方法,命名为
ToTitleCase - 编写方法逻辑,直接复用Kentico原生工具类:
using CMS.Helpers; using CMS.Localization; public static string ToTitleCase(string input) { if (string.IsNullOrEmpty(input)) return input; return TextHelper.ToTitleCase(input, LocalizationContext.CurrentCulture); }
- 保存后,在转换中直接调用:
{% ToTitleCase(YourTextFieldName) %}
方法二:直接调用.NET原生方法
尝试在转换内直接使用.NET的TextInfo类处理,注意先将文本转小写以保证格式统一:
{% System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(YourTextFieldName.ToLower()) %}
方法三:配置命名空间后调用Kentico本地化类
如果直接调用报错,先在站点根目录的web.config中添加允许的命名空间:
<appSettings> <add key="CMSMacrosAllowedNamespaces" value="System.Globalization,CMS.Helpers,CMS.Localization" /> </appSettings>
之后在转换中使用:
{% var currentCulture = CMS.Localization.LocalizationContext.CurrentCulture; currentCulture.TextInfo.ToTitleCase(YourTextFieldName) %}
内容的提问来源于stack exchange,提问作者Roger Knowles
相关产品推荐
相关产品推荐

