Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Ламерские вопросы [aviable] для статичных страниц

[aviable] для статичных страниц


     21.01.2014    Ламерские вопросы    2026

вопрос
Подскажите пожалуйста, как задать условие для статичной страницы.
Сейчас постараюсь описать сложившуюся ситуацию.

И так, есть созданный tpl - head.tpl в котором грубо говоря верхнее меню.

Я хочу сделать так, что если человек находится на главной странице, то раздел в меню "Главаная" будет выделен.


Я поступил таким методом:


[aviable=main]<a href="/" id="gm1" title="ГЛАВНАЯ">ГЛАВНАЯ</a>[/aviable]
[not-aviable=main]<a href="/" id="gm" title="ГЛАВНАЯ">ГЛАВНАЯ</a>[/not-aviable]  


Как мы видим у ссылок разные id, (id чисто по приколу использую вместо классов, не суть). Значить когда мы находимся на главной странице, ссылка имеет один стиль css когда не на главной другой.

[aviable] для  статичных страниц



Затем я создал 4 статичные страницы, у каждой свой шаблон tpl

static_1_pl.tpl
static_2_card.tpl
static_3_premium.tpl
static_4_shop.tpl

Мне нужно задать условие для них, пробовал так:

[aviable=static_1_pl]<a href="/lp.html" id="gm1" title="УСЛУГИ">УСЛУГИ</a>[/aviable]
[not-aviable=static_1_pl]<a href="/lp.html" id="gm" title="УСЛУГИ">УСЛУГИ</a>[/not-aviable]


Но оно не работает. Точней как, перейдя на страницу /lp.html у которой свой шаблон static_1_pl.tpl у ссылки id gm хотя по идеи должно быть gm1

В общем подскажите пожалуйста как задать условие для статичных страниц.

Ответа пока нет


Комментарии пользователей (11)

unik
4

82 | 15

unik - 21 января 2014 22:17 - Юзер

примерно так
 [static=static_1_pl]<a href="/lp.html" id="gm1" title="УСЛУГИ">УСЛУГИ</a>[static]

radcor
24

radcor - 21 января 2014 22:52 - Юзер

Сделал так:


[static=static_1_pl]<a href="/lp.html" id="gm1" title="УСЛУГИ">УСЛУГИ</a>[/static]
[not-static=static_1_pl]<a href="/lp.html" id="gm" title="УСЛУГИ">УСЛУГИ</a>[/not-static]


Но всё время выводит ссылку с id gm, даже когда я нахожусь на странице /lp.html ((

teleoperator27
10

122 | 34

teleoperator27 - 23 января 2014 09:54 - Юзер

[aviable=static][static=static_1_pl]<a href="/lp.html" id="gm1" title="УСЛУГИ">УСЛУГИ</a>l[/static][/aviable]

radcor
24

radcor - 23 января 2014 16:39 - Юзер

Тоже не катит. Если так прописать, тогда на странице static_1_pl вообще нет ссылки ссылки обёрнутой в условие(

radcor
24

radcor - 23 января 2014 16:43 - Юзер

Да и если так сделать

[static=static_1_pl]<a href="/lp.html" id="gm1" title="УСЛУГИ">УСЛУГИ</a>[/static]


То на раздел меню УСЛУГИ вообще пропадает, нет ни на одной странице его, в том числе нет и на /lp.html

rocksmart
64

307 | 115

rocksmart - 23 января 2014 18:00 - Юзер

прошу удалить коммент

Gopr
10

494 | 164

Gopr - 23 января 2014 18:22 - Юзер

Я хочу сделать так, что если человек находится на главной странице, то раздел в меню "Главная" будет выделен.

Ставим в mail.tpl там где требуется:
<div>
<ul class="vashe-menu">
<li><a href="http://сайт.ru/" title="Главная">Главная</a></li>
<li><a href="/lp.html" title="Услуги">Услуги</a></li>
<li><a href="/premium.html" title="Портфолио">Портфолио</a></li>
<li><a href="/card.html" title="Контакты">Контакты</a></li>
<li><a href="/shop.html" title="Отзывы">Отзывы</a></li></ul></div>

Ставим в mail.tpl перед </body>:
<script type="text/javascript">
$(document).ready(function(){
var link = window.location.pathname;
$('.vashe-menu li a[href="'+link+'"]').parent().addClass('active');
});
</script>

В конец файла css стилей вашего шаблона ставим:
.vashe-menu li.active, .vashe-menu li a:hover {background-position:0 0; background-color:#ff0;color:#ff0000;border-radius:5px}

radcor
24

radcor - 23 января 2014 19:25 - Юзер

Во, это отличное решение, спасибо. А можно скрипт переделать, что бы он присваивал класс не к li а именно к сылке.

В общем меню такое


<a href="/" class="gm1" title="ГЛАВНАЯ">ГЛАВНАЯ</a>
<a href="/lp.html" class="gm1" title="УСЛУГИ">УСЛУГИ</a>
<a href="/portfolio/" class="gm1" title="ПОРТФОЛИО">ПОРТФОЛИО</a>
<a href="/contacts.html" class="gm1" title="КОНТАКТЫ">КОНТАКТЫ</a>


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

Было так:
<a href="/" class="gm1" title="ГЛАВНАЯ">ГЛАВНАЯ</a>

Скрипт заменил клас и стало так:
<a href="/" class="gm2" title="ГЛАВНАЯ">ГЛАВНАЯ</a>

Gopr
10

494 | 164

Gopr - 23 января 2014 19:37 - Юзер

class не будет заменяться, просто к активному gm1 будет дописываться active. Должно так получиться: class="gm1 active"
Но может и не будет работать, так как не проверял.
<div class="vashe-menu">
<a href="/" class="gm1" title="ГЛАВНАЯ">ГЛАВНАЯ</a>
<a href="/lp.html" class="gm1" title="УСЛУГИ">УСЛУГИ</a>
<a href="/portfolio/" class="gm1" title="ПОРТФОЛИО">ПОРТФОЛИО</a>
<a href="/contacts.html" class="gm1" title="КОНТАКТЫ">КОНТАКТЫ</a></div>
<script type="text/javascript">
$(document).ready(function(){
var link = window.location.pathname;
$('.vashe-menu a[href="'+link+'"]').parent().addClass('active');
});
</script>
.vashe-menu .active, .vashe-menu a:hover {background-position:0 0; background-color:#ff0;color:#ff0000;border-radius:5px}
Вообще от .gm1 можно полностью избавиться (правильно прописав) все у .vashe-menu

radcor
24

radcor - 23 января 2014 19:53 - Юзер

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

<div class="vashe-menu active">

radcor
24

radcor - 23 января 2014 19:56 - Юзер

убрал в скрипте .parent() заработал как нужно.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы