как сделать ссылку в <ul>

Тема в разделе "OpenCart", создана пользователем zamalatb, 24 май 2014.

  1. zamalatb

    zamalatb

    Регистрация:
    29 апр 2014
    Сообщения:
    113
    Симпатии:
    32
    Подскажите пожалуйста, установил Coolfilter, озадачился в одном из фильтров в выпадающем списке размеров велосипеда, вставить ссылку на статью как этот размер узнать. получилось вставить именно в нужном фильтре , но не получается эту ссылку именно ссылкой сделать, сайт считает ее обычным чекбоксом в списке. как прописать чтобы именно при нажатии открывалась другая страница.
    вот как сейчас все выглядит:
    [​IMG]
    Вот код, то что нужно вставить выделил красным:
     
    3AHO3A нравится это.
  2. nikfakel

    nikfakel

    Регистрация:
    24 июл 2013
    Сообщения:
    150
    Симпатии:
    33
    "Узнать свой размер велосипеда" - ссылка же? Выглядит по крайней мере так, на чек-бокс не похоже :Smile:.
     
  3. zamalatb

    zamalatb

    Регистрация:
    29 апр 2014
    Сообщения:
    113
    Симпатии:
    32
    это я щяс так сделал) а хочется чтобы была эта ссылка в выпадающем меню вверху.
     
  4. nikfakel

    nikfakel

    Регистрация:
    24 июл 2013
    Сообщения:
    150
    Симпатии:
    33
    То есть при щелчке на "Размер велосипеда" в выпадающем меню должна быть ссылка?

    <?php if ($coolfilter['style_id'] == 'select') { ?>
    <div class="coolfilter-item coolfilter-item-select">
    <div class="coolfilter-item-select-head"><?php echo $coolfilter['name']; ?><div class="coolfilter-item-select-button"></div></div>
    <div class="coolfilter-item-select-list">
    <ul>

    <?php foreach ($coolfilter['coolfilters'] as $coolfilter_value) { ?>

    <?php if ($coolfilter_value['count'] || !$count_enabled) { ?>
    <li><input type="checkbox" <?php if($coolfilter_value['active']) { ?>checked="checked"<?php } ?>><a href="<?php echo $coolfilter_value['href']; ?>" <?php if($coolfilter_value['active']) { ?>class="coolfilter_active"<?php } ?> data-key="<?php echo $coolfilter_value['key']; ?>" data-value="<?php echo $coolfilter_value['value']; ?>"><?php echo $coolfilter_value['name']; ?></a> <?php echo $coolfilter_value['view_count']; ?></li>
    <?php } else { ?>
    <li><input type="checkbox" disabled="disabled"><?php echo $coolfilter_value['name']; ?> <?php echo $coolfilter_value['view_count']; ?></li>

    <?php } ?>
    <?php } ?>

    <!-- Просто добавляем еще один <li> Если ссылка отображается как чек-бокс (жаль, по картинке не видно), то добавляем стили к <a>. Если не помогает, то смотрим скрипты -->
    <?php if ($coolfilter_value['key'] == 'p_4') { ?>
    <li><a href="http://velobest.ru/vybor-rostovki-velosipeda.html" target="_blank">Узнать свой размер велосипеда</a></li>
    <?php } ?>


    </ul>
    </div></div>

    **************Это надо вставить ссылкой!!!********************************************
    <?php if ($coolfilter_value['key'] == 'p_4') { ?>
    <a href="http://velobest.ru/vybor-rostovki-velosipeda.html" target="_blank">Узнать свой размер велосипеда</a>
    <?php } ?>
    *********************************************************************************
    <?php } ?>
     
    zamalatb нравится это.
  5. zamalatb

    zamalatb

    Регистрация:
    29 апр 2014
    Сообщения:
    113
    Симпатии:
    32
    я так в начале и делал:
    <?php if ($coolfilter_value['key'] == 'p_4') { ?>
    <li><a class="a" href="http://velobest.ru/vybor-rostovki-velosipeda.html" target="_blank">Узнать свой размер велосипеда</a></li>
    <?php } ?>
    </ul>
    при нажатии просто выделяет, а не открывает:
    [​IMG]


    а всмысле скрипт смотреть? где именно? в coolfilter вроде нет js
     
  6. nikfakel

    nikfakel

    Регистрация:
    24 июл 2013
    Сообщения:
    150
    Симпатии:
    33
    по картинке очень трудно понять, что и как )) скидывай ссs или лучше ссылку на сайт
     
  7. zamalatb

    zamalatb

    Регистрация:
    29 апр 2014
    Сообщения:
    113
    Симпатии:
    32
    http://velobest.ru/velosipedi/shosseynie/
     
  8. NinoZombie

    NinoZombie

    Регистрация:
    27 окт 2013
    Сообщения:
    223
    Симпатии:
    61
    /catalog/theme/TEMA/template/module/coolfilter.tpl
    тут, со 114 строки, прописаны ява скрипты. Правьте на здоровье :smile:
     
    zamalatb нравится это.
  9. zamalatb

    zamalatb

    Регистрация:
    29 апр 2014
    Сообщения:
    113
    Симпатии:
    32
    спасибо, а не подскажите пожалуйста что именно и где прописать, я не знаю JS)
    --- Добавлено, 27 май 2014 ---
    я так понял в этом блоке:

    $(".coolfilter-item a").click(function(e){
    e.preventDefault();
    $(this).toggleClass("coolfilter_active");
    var checkbox = $(this).siblings("input:checkbox");
    if (checkbox.is(':checked')) {
    checkbox.attr('checked', false);
    } else {
    checkbox.attr('checked', true);
    }
    });
     
  10. NinoZombie

    NinoZombie

    Регистрация:
    27 окт 2013
    Сообщения:
    223
    Симпатии:
    61
    Да, правильно. Если уберете e.preventDefault(); , то будет по ссылкам ходить. В т.ч. по ненужным.
    Лучшим решением будет создание собственного класса для ссылки на таблицу размеров
     
  11. zamalatb

    zamalatb

    Регистрация:
    29 апр 2014
    Сообщения:
    113
    Симпатии:
    32
    вроде получилось сделать, такое решение норм?:Smile:

    $(".coolfilter-item a").click(function(e){
    if ($(this).attr('href')!='http://velobest.ru/vybor-rostovki-velosipeda.html') {
    e.preventDefault();
    $(this).toggleClass("coolfilter_active");
    var checkbox = $(this).siblings("input:checkbox");
    if (checkbox.is(':checked')) {
    checkbox.attr('checked', false);
    } else {
    checkbox.attr('checked', true);
    }}
    });
    --- Добавлено, 27 май 2014 ---
    все супер, все работает!! Спасибо большое всем отписавшимся!
    [​IMG]
     
    Последнее редактирование: 27 май 2014