Как мы можем получить доступ к значению элемента словаря umbraco из Javascript

Можем ли мы получить доступ к значению элемента словаря Umbraco из JavaScript?

Как я использую Umbraco 6.0.5

3 ответа

Решение

Что я сделал, это объявил переменную в использовании 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);

Теперь используйте переменную UmbracoDicKeyValue в коде JavaScript.

Нет, вы не можете сделать это из коробки.

Мне приходилось делать это несколько раз, и лучший способ, которым я придумал, - это напечатать все элементы словаря как объект при загрузке страницы (в <head> или что-то). Из проклятия только предметы для текущего языка.

Так что в вашем источнике у вас есть

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

А потом получить это как

window.dic["quantity"]

Насколько я знаю, вы не можете сделать это из коробки - хотя на самом деле не пытался.

Сначала я создал бы простой сервис отдыха на своем веб-сайте, который возвращает элемент словаря Umbraco, используя параметр строки запроса в качестве значения псевдонима.

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

Затем вызовите свой собственный веб-сервис через JavaScript, чтобы получить значение

Другие вопросы по тегам