Перейти к содержимому


Как Создать Свою Глобальную Переменную, Вызвать Java-Функцию


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 User1

User1

    Пользователь

  • Пользователи
  • PipPip
  • 46 сообщений

Отправлено 28 Июль 2014 - 21:41

Как СОЗДАТЬ свою глобальную переменную чтобы была видна из ВСЕХ страниц шаблона, ПРИСВОИТЬ ей определенное значение, ПРОВЕРЯТЬ это значение в условиях и реализовать различный алгоритм выполнения в зависимости от значения переменной. В данный момент пользуюсь обходным манёвром: в настройках есть не нужная мне сейчас константа SETTINGS_STORE_ICQ_NOTICE (аська для уведомлений), присваиваю ей определенное значение и могу реализовывать в коде различные варианты исполнения т.е.:

{% IF SETTINGS_STORE_ICQ_NOTICE = 1  %}
  // что-то одно
{% ELSE %}
  // что-то другое
{% ENDIF %}

Хотелось бы более цивилизованного решения.


Еще вопрос в догонку: очень не хватает математических функций Минимум и Максимум.
Если я напишу например в main.js что-то вроде:

function Maximum (var1, var2)
{
  return (var1>var2) ? var1  :  var2;
}

Как это вызвать в модуле "Товары" применительно к новой и старой цене товара (конкретно вывод цены в price_box)?

#2 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 29 Июль 2014 - 01:29

Цитата

Как СОЗДАТЬ свою глобальную переменную чтобы была видна из ВСЕХ страниц шаблона, ПРИСВОИТЬ ей определенное значение, ПРОВЕРЯТЬ это значение в условиях и реализовать различный алгоритм выполнения в зависимости от значения переменной. В данный момент пользуюсь обходным манёвром: в настройках есть не нужная мне сейчас константа SETTINGS_STORE_ICQ_NOTICE (аська для уведомлений), присваиваю ей определенное значение и могу реализовывать в коде различные варианты исполнения т.е.:

{% IF SETTINGS_STORE_ICQ_NOTICE = 1  %}
  // что-то одно
{% ELSE %}
  // что-то другое
{% ENDIF %}

Хотелось бы более цивилизованного решения.

Если вам необходима именно переменная шаблона, то к сожалению, другого варианта в данном случае нет, так как нет возможности создания пользовательских переменных. Вы можете использовать возможности javascript.

Цитата

Еще вопрос в догонку: очень не хватает математических функций Минимум и Максимум.
Если я напишу например в main.js что-то вроде:

function Maximum (var1, var2)
{
  return (var1>var2) ? var1  :  var2;
}

Как это вызвать в модуле "Товары" применительно к новой и старой цене товара (конкретно вывод цены в price_box)?

Необходимый набор произвольных функций вы можете самостоятельно добавить в ваш файл main.js. Вам необходимо использовать взаимодействие javascript и HTML DOM. Например

$(function() {
  $('.regular-price .num').each(function() {
	 var price = parseFloat($(this).text().replace(/\s+/, ''));
	 // console.log(price);
	 // Maximum(price);
  });
});

В данном примере используется возможность библиотеки jQuery. Документацию можно почитать тут http://jquery.page2p...лавная_страница




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных