Поддержка Темы и шаблоны Проблемы с меню

  • Здравствуйте. У меня сложилась проблема которую уже в течении нескольких дней не могу решить.
    Есть сайт, Есть главное горизонтальное меню. Как сделать чтоб при нажатии кнопки в меню — эта кнопка оставалась активной???
    Допустим в покое у кнопки один рисунок, при наведении на нее она меняет его (a:hover), а после нажатия у нее 3-й рисунок. Кнопку реализовал, а вот как сделать чтоб WordPress понимал что эта кнопка нажата — не знаю.

    Код меню

    <div id="menu">
    <div class="icon1"><a href="http://reg.ru/sait"><span>эконом</span></a></div>
    <div class="icon2"><a href="http://reg.ru/sait/vizitka"><span>Визитка</span></a></div>
    <div class="icon3"><a href="http://reg.ru/blog"><span>Блог</span></a></div>
    </div>

    Код CSS для кнопок

    .icon1 a {
    background-image: url(images/button6.gif);
    margin: 12px 0px 0px 14px;}
    
    .icon2 a {
    background-image: url(images/button6.gif);
    margin: 37px 0px 0px 14px;}
    
    .icon3 a {
    background-image: url(images/button6.gif);
    margin: 12px 0px 0px 16px;}
    
    .icon1 a, .icon2 a, .icon3 a, .icon4 a, .icon5 a, .icon6 a, .icon7 a{
    width:111px;
    height:100px;
    position: relative;
    float: left;
    background-position: 0px -200px;
    border: none;
    background-repeat: no-repeat;}
    
    .icon1 a span, .icon2 a span, .icon3 a span{display: none;}
    .icon1 a:hover, .icon2 a:hover, .icon3 a:hover{position: relative;background-position: 0px -100px;}
    .icon1 a:active, .icon2 a:active, .icon3 a:active{position: relative;background-position: 0px 0px;}
Просмотр 15 ответов — с 1 по 15 (всего 16)
  • Atrax

    (@atrax)

    Ethical engineer

    Если вы выводите меню функциями wp_list_pages, то у текущей страницы будет особый css класс. Либо можете прямо в коде определять, совпадает ли ссылка с текущим адресом и как-то ее выделять.

    ну интуиция подсказывает, что можно как-то кусочек пхп к теме(кнопке) дописаать, мол, иф пейдж (по ярлыку страницы наверное или айди) хом: ехо класс=»активная кнопка«, ну а ксс уже активная кноапка: итд… что-то в этом есть?

    Atrax

    (@atrax)

    Ethical engineer

    Либо можете прямо в коде определять, совпадает ли ссылка с текущим адресом и как-то ее выделять.

    Это оно и есть.

    Хотелось бы кусочек кода глянуть, может у Вас, Atrax завалялась этакая заготовочка. Будем рады глянуть =)

    Atrax

    (@atrax)

    Ethical engineer

    Что-то вроде:

    <a href="http://reg.ru/sait"
    <?php if($_SERVER['REQUEST_URI'] == '/sait') echo 'class="current"';?>
    >эконом</a>

    Это очень топорно, при помощи функций WP можно сделать поизящней.
    Но суть понятна.

    Тоже вариант, только не-не :), я говорил об идентификации не через юрл, а через тот самый ярлык или айди страницы. Там, мне кажется, код будет выглядеть иначе… Где-то видел, вспомнить бы.. 🙂

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    <a href="http://reg.ru/sait"<?php if ( is_page('sait') ) echo ' class="current"'; ?>>эконом</a>

    Благодарю!

    так жеж тоже можно?
    class="<?php if ( is_page('main') ) : ?>activelink<?php else : ?>normlink<?php endif; ?>

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Да, тоже вариант.

    Подскажите, как ифу указать сразу несколько страниц?
    К примеру, скажем пробовал:

    if ( is_page('main','main2') )
    if ( is_page('main,main2') )

    и ничего не получается. Страниц многовато, неудобно каждой странице прописывать свои условия… Заранее благодарен!

    Atrax

    (@atrax)

    Ethical engineer

    is_page(array(42,'about-me','About Me And Joe'))
    http://codex.wordpress.org/Conditional_Tags

    Спасибо =)

    Пошарив в Codexe решил свою проблему в вордпрессе вот таким образом )))
    Задал класс кнопки при активном и не активном положении. Получается, что при нахождении в категориях и рубриках » is_single() || is_category()» у кнопки стиль (icon6-6), а при нахождении на других страницах у кнопки стиль (icon6)

    <?php if (is_single() || is_category()) { ?>
     <div class="icon6-6"><a href="<?php bloginfo('url'); ?>/blog/" class="home">&nbsp;</a></div>
    
    <?php } else { ?>
    <div class="icon6"><a href="<?php bloginfo('url'); ?>/blog/" class="home">&nbsp;</a></div> <?php } ?>

    пример можно взглянуть здесь (http://reglas.ru/blog/) (пока работают только кнопки блог и услуги)

    Обнаружил еще одну проблему с правым вертикальным меню (http://reglas.ru/blog/). Во всех браузерах оно отображается нормально кроме злосчастного IE6 (при наведении на пункты он смещает ниже лежащее меню)
    Вот часть кода

    <div id="rubriki">
      <ul class="rubriki">
      <?php wp_list_categories('title_li='); ?></ul></div>
    
      <div id="novoe">
      <ul class="novoe">
      <?php wp_get_archives('type=postbypost&limit=5')?></ul></div>

Просмотр 15 ответов — с 1 по 15 (всего 16)
  • Тема «Проблемы с меню» закрыта для новых ответов.