0

我们可以从 JavaScript 访问 Umbraco Dictionary 的项目值吗?

当我使用 Umbraco 6.0.5

4

3 回答 3

2

不,你不能开箱即用。

我必须多次这样做,而我想出的最好方法是在页面加载(<head>或其他内容)时将所有字典项打印为一个对象。诅咒当前语言的唯一项目。

所以在你的来源中你有

<script>
    var dic = {"quantity":"Quantity","totalPrice":"Total price","securePayment":"Secure payment"};
</script>

然后得到是

window.dic["quantity"]
于 2015-01-22T13:09:12.297 回答
1

据我所知,你不能开箱即用——但实际上还没有尝试过。

我将首先在我的网站中创建一个简单的休息服务,该服务使用查询字符串参数作为别名值返回 Umbraco 字典项

var alias = HttpContext.Current.Request.QueryString["alias"]
if(alias != null)
{
    var dictionaryItem = umbraco.GetDictionaryItem(alias) 
    ...
}  

然后通过javascript调用自己的webservice来获取值

于 2015-01-22T11:43:23.683 回答
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。

于 2015-01-27T07:43:51.307 回答