Подскажите пожалуйста, установил Coolfilter, озадачился в одном из фильтров в выпадающем списке размеров велосипеда, вставить ссылку на статью как этот размер узнать. получилось вставить именно в нужном фильтре , но не получается эту ссылку именно ссылкой сделать, сайт считает ее обычным чекбоксом в списке. как прописать чтобы именно при нажатии открывалась другая страница. вот как сейчас все выглядит: Вот код, то что нужно вставить выделил красным:
То есть при щелчке на "Размер велосипеда" в выпадающем меню должна быть ссылка? <?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 } ?>
я так в начале и делал: <?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> при нажатии просто выделяет, а не открывает: а всмысле скрипт смотреть? где именно? в coolfilter вроде нет js
/catalog/theme/TEMA/template/module/coolfilter.tpl тут, со 114 строки, прописаны ява скрипты. Правьте на здоровье
спасибо, а не подскажите пожалуйста что именно и где прописать, я не знаю 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); } });
Да, правильно. Если уберете e.preventDefault(); , то будет по ссылкам ходить. В т.ч. по ненужным. Лучшим решением будет создание собственного класса для ссылки на таблицу размеров
вроде получилось сделать, такое решение норм? $(".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 --- все супер, все работает!! Спасибо большое всем отписавшимся!