Как сделать кликабельным заголовок в боковом меню слайдера?

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 14 июля 2018 в 08:24
В Инстанте есть виджет Список контента и в нем опция слайдер!
Так вот в режиме Слайдера он крутит большие фотки из Типа контента с надписями, а справа идет список — мини фотки с заголовками! Как сделать, чтобы эти заголовки были кликабельные?
Сейчас кликабельно все поле выделенное под запись и ведет на отображение большого фото, а люди привыкли кликать по заголовкам и хотят сразу попадать на интересующую статью!
Поиск по форуму ничего не дал. Неужели до сих пор никто этим не заинтересовался?
Есть у кого то решения?
#2 14 июля 2018 в 10:06

Сейчас кликабельно все поле выделенное под запись и ведет на отображение большого фото

vikont
У меня ведёт к статье(посту...)
#3 14 июля 2018 в 10:17

У меня ведёт к статье(посту...)

Lora
Давайте уточним! У вас клик по заголовку на большом фото ведет к статье или в боковом меню слайдера, там где маленькое фото и заголовок?
Если в из бокового меню, тогда поделитесь кодом или шаблоном.
#4 14 июля 2018 в 11:04
У меня дефолтовые файлы. Версия 2.9.0. И я ошибся. Это в виджете слайдер контента.
#5 14 июля 2018 в 12:04

И я ошибся. Это в виджете слайдер контента.

Lora
Жаль! Казалось бы мелочь, а портит жизнь посетителям сайта и снижает трафик! А это уже серьезно!
#6 14 июля 2018 в 13:26
В файле templates/default/js/slider.js найти и удалить
  1. $('.item', slider).click(function(){
  2. icms.slider.showSlide(slider, this, false);
  3. return false;
  4. })
В файле templates/шаблон/controllers/content/widgets/slider/slider/slider.tpl.php найти

  1. <div class="item<?php if ($is_first) {?> active<?php } ?>" data-id="<?php echo $id; ?>">
  2. <div class="image">
  3. <?php echo html_image($image, 'small', $item['title']); ?>
  4. </div>
  5. <div class="title">
  6. <?php html($item['title']); ?>
  7. </div>
  8. <div class="data" style="display:none">
  9. <div class="url"><?php echo $item['url']; ?></div>
  10. <div class="teaser">
  11. <?php if ($teaser_field && !empty($item[$teaser_field])) { ?>
  12. <?php if (!$item['is_private']) { ?>
  13. <span>
  14. <?php echo string_short($item[$teaser_field], $teaser_len); ?>
  15. </span>
  16. <?php } else { ?>
  17. <!--noindex-->
  18. <span class="private_field_hint">
  19. <?php echo LANG_PRIVACY_PRIVATE_HINT; ?>
  20. </span>
  21. <!--/noindex-->
  22. <?php } ?>
  23. <?php } ?>
  24. </div>
  25. </div>
  26. </div>
и заменить на
  1. <a href="<?php echo href_to($ctype['name'], $item['slug']) . '.html'; ?>"><div class="item<?php if ($is_first) {?> active<?php } ?>" data-id="<?php echo $id; ?>">
  2. <div class="image">
  3. <?php echo html_image($image, 'small', $item['title']); ?>
  4. </div>
  5. <div class="title">
  6. <?php html($item['title']); ?>
  7. </div>
  8. <div class="data" style="display:none">
  9. <div class="url"><?php echo $item['url']; ?></div>
  10. <div class="teaser">
  11. <?php if ($teaser_field && !empty($item[$teaser_field])) { ?>
  12. <?php if (!$item['is_private']) { ?>
  13. <span>
  14. <?php echo string_short($item[$teaser_field], $teaser_len); ?>
  15. </span>
  16. <?php } else { ?>
  17. <!--noindex-->
  18. <span class="private_field_hint">
  19. <?php echo LANG_PRIVACY_PRIVATE_HINT; ?>
  20. </span>
  21. <!--/noindex-->
  22. <?php } ?>
  23. <?php } ?>
  24. </div>
  25. </div>
  26. </div></a>
#7 14 июля 2018 в 14:07
А у меня что то нет данной опции в этом виджите. Хотя когда то где то видел.
шэльдэ бердэ бельдэ, а если не трогать js файл? Всё равно в ссылку оборачиваешь.
#8 14 июля 2018 в 14:26

Всё равно в ссылку оборачиваешь

Lora
Попробуйте.
#9 14 июля 2018 в 15:36
Ясно.
#10 14 июля 2018 в 18:46
Спасибо шэльдэ бердэ бельдэ! Все работает и в js файле надо удалять фрагмент, иначе не работает!
Но для того чтобы не терять настройки сделал копию js файла и назвал slider_click.js в нем удалил лишний фрагмент.
Затем создал дубль шаблона с названием slider_click.tpl.php и в нем сделал замену блока.
А так же нашел строку (в самом верху)
  1. <?php $this->addJS('templates/default/js/slider.js'); ?>
и заменил на
  1. <?php $this->addJS('templates/default/js/slider_click.js'); ?>
Все, теперь заголовки кликаются и обновления не изменят файлы.
И главное не забыть в самом виджете в закладке Дизайн не забыть заменить шаблон на свой. smile
#11 15 июля 2018 в 07:34
Проблема решена, желающих высказаться больше нет. Тему закрываю.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.