Как мы можем получить доступ к значению элемента словаря 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, чтобы получить значение