Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.04.2019, 21:25
Аспирант
Отправить личное сообщение для SERblY Посмотреть профиль Найти все сообщения от SERblY
 
Регистрация: 10.03.2014
Сообщений: 87

ребят помогите с меню
Помогите плз с меню, пытался через условие смарти сделать чето не получается, вот мб есть нормальный вариант на jquery ?
Есть меню типа:
{%foreach from=$categories item='category'%}
  {%if $category.parent == 0%}
  {%assign var="count" value=$category.id|count_msg%}
  {%assign var="caturl" value=$smarty.get.cat.0%}
<li class="resp-tab-item hor_1"><a class="nav1" href="{%$settings.path%}{%$category.uri%}/">
          {%$category.name%}</a></li>
						   
	{%/if%}
{%/foreach%}


вкратце выводит список категорий, как сделать чтобы если находясь в категории Авто например
<li> добавлялся бы класс tab-active
тоесть бышло бы так
<li class="resp-tab-item hor_1 tab-active"><a class="nav1" href="{%$settings.path%}{%$category.uri%}/">
          {%$category.name%}</a></li>

Но это пол беды блин как сделать чтобы именно конкретному пункту из выборки присваивался класс, а не всем подряд!
Если перевести на Русский (например пользователь находится на страничке http://site.ru/avto/):
{%foreach from=$categories item='category'%}
  {%if $category.parent == 0%}
  {%assign var="count" value=$category.id|count_msg%}
  {%assign var="caturl" value=$smarty.get.cat.0%}
<li class="resp-tab-item hor_1 (Если открыта /avto/, то подсвечивается то добавляется класс сюда)"><a class="nav1" href="{%$settings.path%}{%$category.uri%}/">
          {%$category.name%}</a></li>
						   
	{%/if%}
{%/foreach%}

объявил переменную
{%assign var="caturl" value=$smarty.get.cat.0%}
она будет выводить uri категории вида: Avto, Biznes, Nedvighimost и т.д.
можно использовать как то в решении данной задачи хз мб для id или еще чего, в шаблоне выводится так {%$caturl%}, можно использовать например так: <li id="{%$caturl%}" и т.д.
Ответить с цитированием
  #2 (permalink)  
Старый 21.04.2019, 01:07
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 10,432

И в чем проблема сравнить caturl с category.uri в нужном месте и по условию сравнения прописать или нет класс?
Ответить с цитированием
  #3 (permalink)  
Старый 21.04.2019, 10:07
Аспирант
Отправить личное сообщение для SERblY Посмотреть профиль Найти все сообщения от SERblY
 
Регистрация: 10.03.2014
Сообщений: 87

внимательнее прочитал бы, если бы не было проблем наверное не писал бы сюда, как считаешь ?
Ответить с цитированием
  #4 (permalink)  
Старый 21.04.2019, 10:12
Аспирант
Отправить личное сообщение для SERblY Посмотреть профиль Найти все сообщения от SERblY
 
Регистрация: 10.03.2014
Сообщений: 87

сравнить то сравнить, как привязать к конкретному пункту из массива всего, теоритический понимаю, но рабочий код не смогу написать, всю голову сломал уже
Ответить с цитированием
  #5 (permalink)  
Старый 21.04.2019, 10:25
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 10,432

Сообщение от SERblY
как привязать к конкретному пункту из массива всего
Что это означает?

Если открыта /avto/, и avto и т.п., это уникальные значения (как и другие значения у элементов), и эти значения, это category.uri и smarty.get.cat.0, то как может быть при сравнении множество совпадений?
Ответить с цитированием
  #6 (permalink)  
Старый 21.04.2019, 10:35
Аспирант
Отправить личное сообщение для SERblY Посмотреть профиль Найти все сообщения от SERblY
 
Регистрация: 10.03.2014
Сообщений: 87

я в jqury не силен, поэтому и прошу помощи в данном вопросе!
чисто на смарти как я понял этого не написать...
Ответить с цитированием
  #7 (permalink)  
Старый 21.04.2019, 10:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 10,432

Сообщение от SERblY
я в jqury не силен,
Вы можете в конце концов пояснить, что есть такое avto и подобное или нет? Если у вас avto не уникальные значения, то хоть на чем вы не сможете ничего сделать, если не задать условий.

Если в url значение avto и подобные, это уникальные категории, то есть не могут быть у множества элементов LI, то сравнивая category.uri (если эта переменная и есть категория) с параметром GET запроса, можно определить добавление класса. Получить значение GET параметра в Smarty, это $smarty.get.имя_параметра. Но судя по всему, у вас ЧПУ, а значит в шаблон нужно будет передавать результат обработки url в .htaccess.

Хватит в ступе толочь и поясните, что вот это то, а это другое и т.п.
Ответить с цитированием
  #8 (permalink)  
Старый 21.04.2019, 10:58
Аспирант
Отправить личное сообщение для SERblY Посмотреть профиль Найти все сообщения от SERblY
 
Регистрация: 10.03.2014
Сообщений: 87

Сообщение от laimas Посмотреть сообщение
Вы можете в конце концов пояснить, что есть такое avto и подобное или нет? Если у вас avto не уникальные значения, то хоть на чем вы не сможете ничего сделать, если не задать условий.

Если в url значение avto и подобные, это уникальные категории, то есть не могут быть у множества элементов LI, то сравнивая category.uri (если эта переменная и есть категория) с параметром GET запроса, можно определить добавление класса. Получить значение GET параметра в Smarty, это $smarty.get.имя_параметра. Но судя по всему, у вас ЧПУ, а значит в шаблон нужно будет передавать результат обработки url в .htaccess.

Хватит в ступе толочь и поясните, что вот это то, а это другое и т.п.
есть меню: давайте добавим ему айди тогда,
{%assign var="caturl" value=$smarty.get.cat.0%}
<li id="{%$caturl%}" class="resp-tab-item hor_1"><a class="nav1" href="{%$settings.path%}{%$category.uri%}/">{%$category.name%}</a></li>


выводится (в итоговом HTML) массив рубрик по типу:
<li id="Avto" class="resp-tab-item hor_1"><a class="nav1" href="Avto/">Авто</a></li>
НЕдвижимость
Работа
и .т.

Как написать рабочий код что-бы:
Если юзер находится на Avto/
сравнивалось url где он находится с id , если совпадает то <li>
добавляется class tab-active
тоесть было бы в итоге так:

{%assign var="caturl" value=$smarty.get.cat.0%}
<li id="{%$caturl%}" class="resp-tab-item hor_1 tab-active"><a class="nav1" href="{%$settings.path%}{%$category.uri%}/">{%$category.name%}</a></li>

Последний раз редактировалось SERblY, 21.04.2019 в 11:07.
Ответить с цитированием
  #9 (permalink)  
Старый 21.04.2019, 11:06
Аспирант
Отправить личное сообщение для SERblY Посмотреть профиль Найти все сообщения от SERblY
 
Регистрация: 10.03.2014
Сообщений: 87

да и маленькое дополнение, не знаю правильно выражусь или нет, но смысл то присвоение класса должно как то связано быть с айди, чтобы конкретному пункту списка из всего массива присваивался класс а не всему списку!
Ответить с цитированием
  #10 (permalink)  
Старый 21.04.2019, 11:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 10,432

SERblY, id тут боком.

Вы не показываете html кода меню и бог его знает, что оно из себя представляет. Допустим, что это одноуровневое меню, и значения Avto (с чего оно вдруг с заглавное стало не понятно) и другие, это есть уникальные значения. То есть Avto и другие значения могут быть только у одного элемента меню и в цикле никак не могут повторятся. Остается проверить GET параметр запроса и выводимое в меню в цикле и получим ответ.

Но чем определяется Avto и другое, какой переменной так и остается загадкой. А также не известно передается ли GET запрос в шаблон и как, или нет.

Это вы можете пояснить или нет? А может быть речь идет о группе элементов с таким параметром и надо раскрыть родителя? Вы понимаете о чем вас спрашивают?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена стилей класса Павел Турченко Элементы интерфейса 9 30.10.2015 14:24
Бесконечноуровневое меню на CSS ruslan_mart Ваши сайты и скрипты 5 12.01.2015 19:59
помогите разобраться с мега меню tyshka jQuery 4 24.10.2014 20:30
Помогите доработать меню Fox Mulder Элементы интерфейса 3 01.08.2013 11:34
Помогите с анимацией выпадающего меню strengerst Элементы интерфейса 13 31.07.2013 11:27