Слайдер контента

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Переход по ссылке из списка

#1 11 декабря 2014 в 15:17
Доброго времени!
Мне работа слайдера контента кажется не логичной)) Сейчас сначала нужно кликнуть по заголовку новости справа, и что бы перейти на ее страницу нужно переместиться в левую часть и уже там кликнуть..

А как можно сделать, что бы выбор слайдера срабатывал при наведении мышки, а при клике осуществлялся переход на отдельную страницу? Или хотя бы добавить ссылку в виде стрелочки после заголовка.
#2 11 декабря 2014 в 16:29
Через шаблон легко реализуется joke
#3 12 декабря 2014 в 08:59
А немного подробнее не расскажете? joke
#4 12 декабря 2014 в 10:02
например так:

в файле шаблона (..\templates\default\controllers\content\widgets\slider\slider.tpl.php) меняем в 43 строке:
  1. <div class="title">
  2. <?php html($item['title']); ?>
  3. </div>
на
  1. <a href="<?php echo $url; ?>" class="title">
  2. <?php html($item['title']); ?>
  3. </a>
затем удаляем или закрываем комментарием строку 20 в файле ..\templates\default\js\slider.js

при желании правим стили для .widget_content_slider .items .item .title чтобы убрать подчеркивание из текста ссылок.
#5 12 декабря 2014 в 10:16
Спасибо, попробую сделать как вы посоветовали.
#6 12 декабря 2014 в 23:35
Сделал как вы сказали, но что-то странное)) Действительно, при наведении на заголовки справа в статусной строке браузера видно, что на них есть ссылка на новость, но при клике происходит действие как и раньше, т.е. выделяется слайдер, а вот при выборе из контекстного меню "открыть в новой вкладке" открывается новость.
#7 13 декабря 2014 в 00:12

затем удаляем или закрываем комментарием строку 20 в файле ..\templates\default\js\slider.js

Val
Это важный момент😊!
должно быть так:
  1. this.onDocumentReady = function() {
  2.  
  3. $('.widget_content_slider').each(function(){
  4.  
  5. var slider = $(this);
  6. var id = slider.data('id');
  7. var delay = Number(slider.data('delay')) * 1000;
  8.  
  9. var currentSlide = 0;
  10. var totalSlides = $('.item', slider).length;
  11.  
  12. $('.item', slider).click(function(){
  13. icms.slider.showSlide(slider, this, false);
  14. // return false; // <- ЭТА СТРОКА!!!
  15. })
  16.  
  17. setTimeout('icms.slider.nextSlide('+id+', '+currentSlide+', '+totalSlides+', '+delay+')', delay);
  18.  
  19. });
  20.  
  21. }
#8 13 декабря 2014 в 00:32
Т.к. у меня шаблон не дефолтный, я поменял js только в этом шаблоне, сейчас поправил и в дефолтном, и ссылки заработали. Но можно ли еще сделать смену слайдов при наведении мышки? joke
#9 13 декабря 2014 в 01:10
Поменяйте click на mouseenter joke
#10 13 декабря 2014 в 01:14

Т.к. у меня шаблон не дефолтный ...

Andrew
Там в слайдере разработчики (или разработчик😊) оставил жесткую ссылку на js-файл в дефолтном шабе. Чтобы это поправить надо поменять ее на <?php $this->addJS('templates/{$this->name}/js/slider.js'); ?>
#11 13 декабря 2014 в 01:16
Ого, спасибо, то что нужно!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.