Форумы / National / Russian / Тех. поддержка / header нажатые кнопки имеют стиль active

12>>>

vpktz
#1 08.11.2023 08:35

В header есть меню по сайту  где при нажатии на каждую из кнопок меню, кнопка меняет стиль на более яркий, не то что нажатые а если я нахожусь на странице именно, 

что символизирует что именно эта кнопка сейчас активна и на этой странице вы находитесь это выглядит так

      <li <!-- IF {PHP.env.ext} == 'sbr' --> class="uk-active"<!-- ENDIF -->>
        <a href="{PHP|cot_url('sbr')}">
          Сделки
        </a>
      </li>
      <li <!-- IF {PHP.env.ext} == 'affiliate' --> class="uk-active"<!-- ENDIF -->>
        <a href="{PHP|cot_url('affiliate')}">
          Рефералы
        </a>
      </li> 

То есть вставляется условие которое при срабатывании вставляет класс учитывая ссылку

Но как написать условие если ссылка не обычная а как бы ее назвать, двухуровневая что ли

      <li <!-- IF {PHP.env.ext} == '' --> class="uk-active"<!-- ENDIF -->>
        <a href="{PHP|cot_url('projects','m=useroffers')}">
          Ставки
        </a>
      </li>

 

Отредактировано: vpktz (08.11.2023 11:01, 5 месяцев назад)
Argont
#2 08.11.2023 12:45

исходя из вашего кода попробуйте так

	
      <li <!-- IF {PHP.env.ext} == 'projects' --> <!-- IF {PHP.m} == 'main' OR {PHP.m} == 'list' --> class="uk-active"<!-- ENDIF --><!-- ENDIF -->>
        <a href="{PHP|cot_url('projects','m=useroffers')}">
          Ставки
        </a>
      </li>
	

 

Добавлено 19 минут спустя:

скорее всего лучше все же так

      <li <!-- IF {PHP.env.ext} == 'projects' AND {PHP.m} == 'useroffers' --> class="uk-active"<!-- ENDIF -->>
        <a href="{PHP|cot_url('projects','m=useroffers')}">
          Ставки
        </a>
      </li>

 

иногда поржать над задравшим подбородок разработчиком
Отредактировано: Argont (08.11.2023 13:07, 5 месяцев назад)
vpktz
#3 08.11.2023 15:02

Добавлено 19 минут спустя:

скорее всего лучше все же так

      <li <!-- IF {PHP.env.ext} == 'projects' AND {PHP.m} == 'useroffers' --> class="uk-active"<!-- ENDIF -->>   
<a href="{PHP|cot_url('projects','m=useroffers')}">
          Ставки
        </a>
      </li>

 

 Вот этот вариант работает спасибо, только  вместе со страницей "ставки"  подсвечивается еще и "проекты" так как это одно направление только "ставки" глубже 

Есть ли вариант конкретизировать условие, что бы не светилось все что выше по ссылке?

      <li <!-- IF {PHP.env.ext} == 'projects' --> class="uk-active"<!-- ENDIF -->>
        <a href="{PHP|cot_url('projects')}">
          <i class="bi-flag"></i> Заказы
        </a>
      </li>

 

Kort
#4 08.11.2023 15:41

Т.е. если входишь в раздел projects, подсветки быть не должно? А при каком условии должна быть подсветка?

Если проверять подраздел, то будет так:

<li<!-- IF {PHP.env.ext} == 'projects' AND {PHP.c} --> class="active"<!-- ENDIF -->>
   <a href="{PHP|cot_url('projects')}">{PHP.L.projects_projects}</a>
</li>

Только какая в этом логика?

SED.by - создание сайтов, разработка плагинов и тем для Котонти
Argont
#5 08.11.2023 16:30

чтоб не гадать лучше сразу скиньте код, включая

<ul>
   .....
</ul>

 

иногда поржать над задравшим подбородок разработчиком
vpktz
#6 08.11.2023 19:53
#47326 Argont:

чтоб не гадать лучше сразу скиньте код, включая

<ul>
   .....
</ul>

 

Не понимаю чем тут поможет полный ul  

<ul class="uk-nav uk-nav-default uk-nav-parent-icon ">
      <li>
        <a href="{PHP.usr.name|cot_url('users', 'm=details&u='$this)}">
          {HEADER_PAYPRO} {PHP.usr.name}
        </a>
      </li>
      <li <!-- IF {PHP.env.ext} == 'projectfav' --> class="uk-active"<!-- ENDIF -->>
        <a href="{PHP|cot_url('projectfav')}">
          Избранное
        </a>
      </li>
      <li <!-- IF {PHP.env.ext} == 'projects' AND {PHP.m} == 'useroffers' --> class="uk-active"<!-- ENDIF -->>
        <a href="{PHP|cot_url('projects','m=useroffers')}">
          Ставки
        </a>
      </li>
      <li <!-- IF {PHP.env.ext} == 'affiliate' --> class="uk-active"<!-- ENDIF -->>
        <a href="{PHP|cot_url('affiliate')}">
          Рефералы
        </a>
      </li>
      <li <!-- IF {PHP.env.ext} == 'projects' --> class="uk-active"<!-- ENDIF -->>
        <a href="{PHP|cot_url('projects')}">
          <i class="bi-flag"></i> Заказы
        </a>
      </li>
      <li <!-- IF {PHP.env.ext} == 'sbr' --> class="uk-active"<!-- ENDIF -->>
        <a href="{PHP|cot_url('sbr')}">
          Сделки
        </a>
      </li>
</ul>

 

Argont
#7 08.11.2023 20:05
#47328 vpktz:

Не понимаю чем тут поможет полный ul  

уровень вложения ссылок

показываю на пальцах:

влаживается ли сначало в раскрывающийся список ссылок, ссылки второго уровня меню, вложенные в условие

 

<ul>
   .....
	<!-- IF {PHP.env.ext} == 'projects' -->
	<ul>
	   .....
	</ul>
	<!-- ENDIF -->
   .....
</ul>

вот почему важны детали.

пробуйте так

      <li <!-- IF {PHP.m} == 'useroffers' --> class="uk-active"<!-- ENDIF -->>
        <a href="{PHP|cot_url('projects','m=useroffers')}">
          Ставки
        </a>
      </li>

если не поможет - напишите

иногда поржать над задравшим подбородок разработчиком
vpktz
#8 08.11.2023 20:23
#47329 Argont:
#47328 vpktz:

Не понимаю чем тут поможет полный ul  

уровень вложения ссылок

показываю на пальцах:

влаживается ли сначало в раскрывающийся список ссылок, ссылки второго уровня меню, вложенные в условие

 

<ul>
   .....
	<!-- IF {PHP.env.ext} == 'projects' -->
	<ul>
	   .....
	</ul>
	<!-- ENDIF -->
   .....
</ul>

вот почему важны детали.

пробуйте так

      <li <!-- IF {PHP.m} == 'useroffers' --> class="uk-active"<!-- ENDIF -->>
        <a href="{PHP|cot_url('projects','m=useroffers')}">
          Ставки
        </a>
      </li>

если не поможет - напишите

Нет к сожалению, ссылка ставки срабатывает но и ссылка заказы тоже активируется как активная

Argont
#9 08.11.2023 20:46
#47330 vpktz:

Нет к сожалению, ссылка ставки срабатывает но и ссылка заказы тоже активируется как активная

модуль просто ваш не знаю. что-то придумаем)

Добавлено 43 минуты спустя:

поставил ради интереса.
всё прекрасно срабатывает

но если у вас вместо

<!-- Какое тут условие ??? -->

стоит одно из двух

<!-- IF {PHP.e} == 'projects' -->

или

<!-- IF {PHP.env.ext} == 'projects' -->

то вот вам и ответ на ваш вопрос.

<ul>
   .....
    <!-- Какое тут условие ??? -->
    <ul>
		<li <!-- IF {PHP.m} == 'useroffers' --> class="uk-active"<!-- ENDIF -->>
		  <a href="{PHP|cot_url('projects','m=useroffers')}">
			Ставки
		  </a>
		</li>
    </ul>
    <!-- ENDIF -->
   .....
</ul>

 

Добавлено 1 минута спустя:

то есть нужно убрать обрамление таким условием ссылку на  раскрывающийся список ссылок вложения, а именно в вашем случае перед

<li class="uk-parent">

 

иногда поржать над задравшим подбородок разработчиком
Отредактировано: Argont (08.11.2023 21:44, 5 месяцев назад)
vpktz
#10 08.11.2023 22:32

<ul>
   .....
    <!-- Какое тут условие ??? -->
    <ul>
        <li <!-- IF {PHP.m} == 'useroffers' --> class="uk-active"<!-- ENDIF -->>
          <a href="{PHP|cot_url('projects','m=useroffers')}">
            Ставки
          </a>
        </li>
    </ul>
    <!-- ENDIF -->
   .....
</ul>

Это не работает отдельно от 

<li <!-- IF {PHP.e} == 'projects' --> class="uk-active"<!-- ENDIF -->>
        <a href="{PHP|cot_url('projects')}">
          <i class="bi-chat-square"></i> Все заказы
        </a>
      </li>

Так как это один модуль который называется  projects в котором есть страница со списком всех проектов по адресу projects и есть страница с предложениями к этим проектам но уже по адресу  projects/useroffers то есть в этом же модуле но глубже. 

Ваши варианты которые вы скидываете они все работают, но отчасти. Так как при открития ссылки "Ставки" подсвечиваются так же и заказы.

 

Хотя это я скорее всего туплю как обычно, но у меня не работает как должно.

Я еще не совсем понимаю это

  "то есть нужно убрать обрамление таким условием ссылку на  раскрывающийся список ссылок вложения, а именно в вашем случае перед"

1

<li class="uk-parent">

Dayver
#11 09.11.2023 03:47
#47324 vpktz:

 Вот этот вариант работает спасибо, только  вместе со страницей "ставки"  подсвечивается еще и "проекты" так как это одно направление только "ставки" глубже 

Просто пункту Ставки делаете как уже озвучено так

<!-- IF {PHP.env.ext} == 'projects' AND {PHP.m} == 'useroffers' --> 

а пункту Все заказы вот так

<!-- IF {PHP.env.ext} == 'projects' AND !{PHP.m} --> 

 

Pavlo Tkachenko aka Dayver
vpktz
#12 09.11.2023 08:03
#47325 Kort:

Т.е. если входишь в раздел projects, подсветки быть не должно? А при каком условии должна быть подсветка?

Если проверять подраздел, то будет так:

<li<!-- IF {PHP.env.ext} == 'projects' AND {PHP.c} --> class="uk-active"<!-- ENDIF -->>
   <a href="{PHP|cot_url('projects')}">{PHP.L.projects_projects}</a>
</li>

Только какая в этом логика?

Так не работает projects  все заказы

Добавлено 54 секунды спустя:

#47333 Dayver:
а пункту Все заказы вот так
<!-- IF {PHP.env.ext} == 'projects' AND !{PHP.m} --> 

 

Так не работает все заказы projects

Argont
#13 09.11.2023 09:15
#47334 vpktz:
#47325 Kort:

Т.е. если входишь в раздел projects, подсветки быть не должно? А при каком условии должна быть подсветка?

Если проверять подраздел, то будет так:

<li<!-- IF {PHP.env.ext} == 'projects' AND {PHP.c} --> class="uk-active"<!-- ENDIF -->>
   <a href="{PHP|cot_url('projects')}">{PHP.L.projects_projects}</a>
</li>

Только какая в этом логика?

Так не работает projects  все заказы

Добавлено 54 секунды спустя:

#47333 Dayver:
а пункту Все заказы вот так
<!-- IF {PHP.env.ext} == 'projects' AND !{PHP.m} --> 

 

Так не работает все заказы projects

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

иногда поржать над задравшим подбородок разработчиком
vpktz
#14 09.11.2023 09:35

Дьявол то в деталях, но тут же все понятно в принципе как мне кажется

Нужно условие для header.tpl которое будет срабатывать если я нахожусь на той или иной странице

Например так;

<!-- IF я зашел на такую то страницу --> 
То написать цифру 1
<!-- ENDIF -->

Хотя можно же по эксперементировать с else она пару раз выручала 

            <!-- IF я зашел на такую то страницу -->
              
            <!-- ELSE -->
              Иначе написать цифру 1
            <!-- ENDIF -->

То есть попробовать написать противоположное условие

Kort
#15 09.11.2023 10:54

Если логику понимаешь, то и делай. А если понимаешь, но не можешь применить в конкретной ситуации, объясни персоналу какие локации и где надо фильтровать

SED.by - создание сайтов, разработка плагинов и тем для Котонти

12>>>