вместо ссылок на фото в альбомах
Недавно над одним проектом работал и требовалось в статьях размещать фотографии из фотоальбомов, да еще и с подписями к ним, да еще и с lightbox для них с отображением полноразмерной фото при нажатии на миниатюру. Стандартно имеется функция фильтра, где фраза для фильтра {ФОТО=...} заменяется на сылку на данное фото, но в статьях красивее смотрелась бы не ссылка, а именно фотография и лучше в миниатюре и с возможностью просмотра полноразмерки без ухода со страницы. Lightbox уже имеется в CMS, но он не интегрирован в компонент контента, да и в существующий фильтр внести новый пункт в ниспадающий список для нового слова не получилось (не заработал новый пункт и наотрез отказывался копировать ссылку в редакторе — если у кого получилось подобное — прикрепите пожалуйста свои файлы для админки с наработками в этой теме). Пришлось модифицировать существующий фильтр.
Результат можно скачать тут: alexey.zagrebelniy.ru/pict_in_content.rar или из прикрепленного к сообщению файла.
Инструкция по установке, а так же модификация под другие версии движка (я делал под InstantCMS 1.1rc4) внутри архива.
для v.1.5.2 нужно немного изменить код.
в readme.txt написано:
1. Откройте на своем сайте для редактирования файл components/content/frontend.php и вставьте в самом начале файла после строки следующие строки: $GLOBALS['page_head'][] = '<script language="JavaScript" type="text/javascript" src="/includes/jquery/lightbox/js/jquery.lightbox.js"></script>'; $GLOBALS['page_head'][] = '<link media="screen" href="/includes/jquery/lightbox/css/jquery.lightbox.css" rel="stylesheet" type="text/css" />';
$inPage->addHeadJS('includes/jquery/lightbox/js/jquery.lightbox.js'); $inPage->addHeadCSS('includes/jquery/lightbox/css/jquery.lightbox.css');
осталось протестить на 1.6
Не думал, что моя тема привлечет к себе интерес. Изначально делал для версии 1.1rc4, но уже в теме добавлены кода и для версии 1.5.2, за что благодарен коллегам, которые уделили время этому вопросу.
Подскажите какая версия у Вас стоит и дайте ссылку на сайт на котором пытаетесь установить показ картинок через модуль.
ни кто не подскажет какой файл править при создании модуля??? чтобы также выводилось как в статьях.
в статьях все работает на ура. вот теперь хотелось понять какой файл надо отредактировать чтобы и в модулях также картинки обрабатывались лайтбоксом. Пока что картинки вставляются из галереи в модуль, но не обрабатываются лайтбоксом, а открываются в новом окне.
Я давно искал такую тему. так что заранее огромное спасибо!)
Огромное спасибо за положительный отзыв!
Дело в том, что в случае с контентом (компонентом "Контент") в файле components/content/frontend.php для версии 1.5.2 по совету MonAmur следует добавить следующие две строки:
$inPage->addHeadJS('includes/jquery/lightbox/js/jquery.lightbox.js'); $inPage->addHeadCSS('includes/jquery/lightbox/css/jquery.lightbox.css');
Если прописать где-нибудь в вызове отображения модуля подключение этих файлов, то возможны следующие проблемы:
1. при отображении более одного модуля одновременно на одной странице — lightbox может не сработать, т.к. несколько раз будет вызываться подключение одних и тех же файлов.
2. модуль со вставленными из фотогалереии изображениями и компонент Контент на одной странице не смогут работать правильно по той же причине вызова нескольких файлов изображений одновременно.
Но есть вариант:
1. Следует из файла components/content/frontend.php убрать рекомендованные обе строки:
$inPage->addHeadJS('includes/jquery/lightbox/js/jquery.lightbox.js'); $inPage->addHeadCSS('includes/jquery/lightbox/css/jquery.lightbox.css');
<script language="JavaScript" type="text/javascript" src="/includes/jquery/lightbox/js/jquery.lightbox.js"></script> <link media="screen" href="/includes/jquery/lightbox/css/jquery.lightbox.css" rel="stylesheet" type="text/css" />
$inPage->addHeadJS('includes/jquery/lightbox/js/jquery.lightbox.js'); $inPage->addHeadCSS('includes/jquery/lightbox/css/jquery.lightbox.css');
Может кто подскажет, в чем здесь может быть дело?