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


Несколько Вопросов (If, For, Фильтры)

IF FOR фильтры

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

#1 TallZmm

TallZmm

    Новичок

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

Отправлено 26 Декабрь 2015 - 13:43

Вопросы:
1) Что я не так пишу и почему не корректно работает вот это:
{% IF CURRENT_URL|length < 60 %}
<h1> {CURRENT_URL|length} </h1>
{% ENDIF %}
Корректно отображает информацию в теге h1, но попадает туда при любой длине CURRENT_URL.
2) Можно ли каким-нибудь образом по условию выйти сразу из двух циклов FOR? То есть вот такой код позволяет по условию выйти из "внутреннего"
{% FOR data_array %} {% FOR sub_data_array %}
{% IF data_array.sub_data_array.id = 1%} {break} {% ENDIF %}
{% ENDFOR %}{% ENDFOR %}
, как его можно изменить, чтобы по условию выйти еще и из второго?
3) Для фильтров есть отдельная переменная goods_filters_empty, которая возвращает 1, если нет ни одного примененного фильтра и 0 если фильтры применены.
Мне в коде нужно знать сколько фильтров применено, и запихнуть это условие в IF, возможно ли такое реализовать?
С уважением.

#2 RedHead

RedHead

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

  • Модераторы
  • 1 052 сообщений

Отправлено 26 Декабрь 2015 - 20:07

Просмотр сообщенияTallZmm (26 Декабрь 2015 - 13:43) писал:

Вопросы:
1) Что я не так пишу и почему не корректно работает вот это:
{% IF CURRENT_URL|length < 60 %}
<h1> {CURRENT_URL|length} </h1>
{% ENDIF %}
Корректно отображает информацию в теге h1, но попадает туда при любой длине CURRENT_URL.

Здравствуйте! Могу помочь Вам с первым вопросом.
Если я правильно Вас поняла, необходимо скрывать все заголовки h1, если длина url - строки больше 60 символов.
В редакторе шаблонов откройте шаблон html. В самый его конец вставьте:
<script>
  $(function(){
	a = document.location.href;
	console.log(a);
	b = a.length;
	console.log(B);
	if(b > 60){	 
	  $('h1').hide();  
	}
  })
</script>

Если необходимо скрывать все заголовки при этом условии, замените строку
$('h1').hide(); 
на
$('page_title').hide(); 


#3 TallZmm

TallZmm

    Новичок

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

Отправлено 26 Декабрь 2015 - 20:59

Спасибо за быстрый ответ!
Если полностью развернуть первый пункт, то я пытаюсь реализовать следующее:

{% IF CURRENT_URL|length < 60 %}
  <h1>1</h1>
{% ELSEIF CURRENT_URL|length < 100 %}
  <h1>2</h1>
{% ELSE %}
  <h1>3</h1>
{% ENDIF %}

То есть нужна корректная работа выражения CURRENT_URL|length. Возможно, для реализации этого могла бы помочь функция у которой одна входная переменная (url) и возвращает она 0 в случае, если длина строки меньше 60 символов, 1 если длина от 60 до 100 и 2, если длина больше 100. Но как это реализовать с помощью <script> не совсем понимаю.
С уважением.

#4 TallZmm

TallZmm

    Новичок

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

Отправлено 27 Декабрь 2015 - 14:08

Еще вопрос появился.
Вот этот код -

{%IF CURRENT_URL == http://test.ru/cart %}
  html-код-1
{%ELSE%}
  html-код-2
{%ENDIF%}

нормально работает только в случае, если сравнение идет с url-ом не содержащим знак "=", то есть если вместо http://test.ru/cart  мы попытаемся сравнить текущий url c http://test.ru/cart?&page=2, то всегда будет "выполняться" html-код-2.
Ну и собственно вопрос, как корректно сравнивать текущий url с url-ом содержащим знак "="?
С уважением.

#5 TallZmm

TallZmm

    Новичок

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

Отправлено 29 Декабрь 2015 - 13:10

Еще вопрос появился, в script с помощью document.title , можно изменить title страницы, а есть ли какая-нибудь команда чтобы изменить canonical?
Ну и собственно, есть ли возможность в script обратиться к переменной PAGE_CANONICAL?
Другими словами, как переместить ниже приведенный код в script?
{% IF PAGE_CANONICAL %}
<link rel="canonical" href="{PAGE_CANONICAL}" />
{% ENDIF %}

P.S. Есть такая не особо используемая переменная {SETTINGS_STORE_ICQ}, можно ли ей как-нибудь воспользоваться, чтобы "отображать" нечто динамическое, к примеру {CURRENT_URL|length}?

UPDATE: вопрос с canonical отпадает, остается только следующий момент, как в script обратиться к переменной PAGE_CANONICAL.





Темы с аналогичным тегами IF, FOR, фильтры

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

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