Joomla 3.x Проблема с lightbox

Discussion in 'Программирование' started by Night_Pilgrim, May 16, 2014.

  1. Night_Pilgrim
    Offline

    Night_Pilgrim Пользователь

    Joined:
    Feb 2, 2009
    Messages:
    47
    Likes Received:
    0
    Gender:
    Male
    Здравствуйте.
    Суть, есть нужда в плагине, который бы выводил изображения в lightbox, при этом имея возможность прокрутки изображений, как в галерее.

    Т.е. имеется скажем в материале 5 картинок, нажал на одну открылось в лайтбоксе, нажал правую клавишу на клавиатуре перелистнул на следующую и т.д.

    По не ясной мне причине, лайтбоксы на всех бесплатных модулях, которые мне попадались - не работали.

    Поэтому, решил всё же заморочиться с стандартным JHTML::_('behavior.modal'); лайтбокс создаётся/открывается, да, но я не знаю, как его настроить таким образом, чтобы он:

    а - предоставлял возможность открыть в том же окне следующее изображение
    б - создавал лайтбокс опираясь на размер изображения (скажем у меня 2 картинки, одна 800х600 вторая 600х800, чтобы он менял местами ширину и высоту в соответствии с параметрами изображений).
     
  2.  
  3. Yulechka
    Offline

    Yulechka Недавно здесь

    Joined:
    Aug 18, 2014
    Messages:
    5
    Likes Received:
    0
    Gender:
    Female
    такое бывало когда лайтбокс подключался не в том месте и без noconflicta.


    Если прописать подключение прям в самом верху index.php шаблона (до подключения остальных скриптов) - вероятно заработает
     
  4. Night_Pilgrim
    Offline

    Night_Pilgrim Пользователь

    Joined:
    Feb 2, 2009
    Messages:
    47
    Likes Received:
    0
    Gender:
    Male
    а можно поподробнее, что значит прописывать в index.php ?

    я понял куда, я не понял как...
     
  5. Yulechka
    Offline

    Yulechka Недавно здесь

    Joined:
    Aug 18, 2014
    Messages:
    5
    Likes Received:
    0
    Gender:
    Female
    Ну в папке шаблона, есть файл index.php Это компоновочный файл (там ещё везде jdoc:include)

    Из-за того что в джумале применяется мотолс и возможно куча других скриптов - могут происходить их конфликты. И поэтому jquery может глючить. Вообще бывает стоит поменять местами JS как всё чудесным образом начинает работать.

    Последовательно отключая скрипты и меняя место их подключения можно выяснить в чём причина.

    Я прям в самый вверх прописал в секции <HEAD>

    Код (CODE):
    1. echo '
    2. <!-- Add jQuery library -->
    3. <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
    4. <!-- Add mousewheel plugin (this is optional) -->
    5. <script type="text/javascript" src="/fancybox/lib/jquery.mousewheel-3.0.6.pack.js"></script>
    6. <!-- Add fancyBox -->
    7. <link rel="stylesheet" href="/fancybox/source/jquery.fancybox.css?v=2.1.5" type="text/css" media="screen" />
    8. <script type="text/javascript" src="/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
    9. <!-- Optionally add helpers - button, thumbnail and/or media -->
    10. <link rel="stylesheet" href="/fancybox/source/helpers/jquery.fancybox-buttons.css?v=1.0.5" type="text/css" media="screen" />
    11. <script type="text/javascript" src="/fancybox/source/helpers/jquery.fancybox-buttons.js?v=1.0.5"></script>
    12. <script type="text/javascript" src="/fancybox/source/helpers/jquery.fancybox-media.js?v=1.0.6"></script>
    13. <link rel="stylesheet" href="/fancybox/source/helpers/jquery.fancybox-thumbs.css?v=1.0.7" type="text/css" media="screen" />
    14. <script type="text/javascript" src="/fancybox/source/helpers/jquery.fancybox-thumbs.js?v=1.0.7"></script>
    15. <script type="text/javascript">
    16.     $(document).ready(function() {
    17.         $(".fancybox").fancybox();
    18.     });
    19. </script>
    20. ';
    21. }



    далее, если не сработает надо отключить мотолс.

    Поубирать вручную из head в шаблоне всякую джумальную гадость, подключающую скрипты, до тех пор, пока Лайтбокс не заработает. Таким образом можно выяснить какой скрипт конфликтует.

    ______________
    PS

    По правилам надо:
    1) Подключать сначала jquery потом мотолс
    2) Надо подключить библиотеку ноуконфликт для jqyery
    3) далее в скриптах джейквери везде заменить знак $ на JQery

    тогда они конфликтовать не должны.
    TplHelper::loadJS
     

Share This Page

Loading...