我们可以从JavaScript访问Umbraco Dictionary项目值吗?
因为我正在使用Umbraco 6.0.5
答案 0 :(得分:2)
不,你不能开箱即用。
我必须多次执行此操作,而我提出的最佳方法是在页面加载时将所有字典项打印为对象(在<head>
或其他内容中)。仅诅咒当前语言的项目。
所以在你的来源中你有
<script>
var dic = {"quantity":"Quantity","totalPrice":"Total price","securePayment":"Secure payment"};
</script>
然后得到是
window.dic["quantity"]
答案 1 :(得分:1)
据我所知,你不能开箱即用 - 但实际上并未尝试过。
我首先在我的网站上创建一个简单的休息服务,它使用querystring参数作为别名值返回Umbraco字典项
var alias = HttpContext.Current.Request.QueryString["alias"]
if(alias != null)
{
var dictionaryItem = umbraco.GetDictionaryItem(alias)
...
}
然后通过javascript调用您自己的网络服务以获取值
答案 2 :(得分:0)
我所做的是使用Javascript声明变量
<script type="text/javascript">
var UmbracoDicKeyValue = '<%= kraftvaerk.umbraco.Translations.translate("Umbraco_Dic_Key", lang) %>';
</script>
用于从服务器端设置lang变量的值。
protected string lang = (!String.IsNullOrEmpty(umbraco.library.Session("lang")) ? umbraco.library.Session("lang") : "en-GB");
umbraco.library.setSession("lang", lang);
现在在javascript代码中使用变量UmbracoDicKeyValue。