Modx установлен теперь пришло время организовать загрузку изображений. Рассмотрим установку модуля evoGallery.
Допустим Modx установлен. Качаем последнюю версию http://modx.com/extras/package/evogallery.
Допустим Modx установлен. Качаем последнюю версию http://modx.com/extras/package/evogallery.
- Копируем содержимое в папку на сервере.
- Устанавливаем для папки galleries права 0777.
- Запустить установку site_name/install. Устанавливаем и после установки удаляем папку install
- Пробуем загрузить несколько изображений через модуль на главную страницу. И сделаем простой вызов сниппета [!evoGallery!].
Все изображения отображаются, однако если попробовать открыть изображение - мы перейдем по ссылке на это изображение в увеличенном виде. Для того, чтобы это немножко окультурить существует масса плагинов на jQuery для открытия всплывающего окна с увеличенным изображением. В своем примере я опишу установку prettyPhoto.
И всё должно работать.
Какие были у меня косяки при настройке:
- Копируем папки css, js, images.
- Редактируем тег <head>. Подключаем css, js из папок и jquery.min.js. Добавляем скрипт (см. ниже красным цветом).
- Создаем чанк, который подключим в вызове сниппета [!evoGallery? &itemTpl=`tpl`!]
Chunk:
<a href="[+images_dir+][+filename+]" rel="prettyPhoto[pp_gal]"><img class="pretty-photo" src="[+thumbs_dir+][+filename+]" alt="[+title+]" /></a>
<a href="[+images_dir+][+filename+]" rel="prettyPhoto[pp_gal]"><img class="pretty-photo" src="[+thumbs_dir+][+filename+]" alt="[+title+]" /></a>
<script type="text/javascript" src="js/jquery.prettyPhoto.js"></script>
<script type="text/javascript" charset="utf-8">
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
$("a[rel^='prettyPhoto']").prettyPhoto();
});
</script>
И всё должно работать.
Какие были у меня косяки при настройке:
- Изображение отображается, однако рамки и границы не отображаются. В этом случае необходимо проверить пути, прописанные в css файле (либо наличие этих изображений в папке на сервере).
- Был установлен shopkeeper и в коде вызывалась дополнительно библиотека jquery.min.js. Мне помогло удаление данной библиотеки. Двойной вызов точно не нужен.
- При обычном запуске [!evoGallery!] не отображалось ничего. Проблема была в регистре. Сработал вызов [!EvoGallery!]
Спасибо за материал. Косяков много у этой галереи, но много и достоинств.
ОтветитьУдалитьА как вызвать сразу несколько альбомов галереи на одной странице? это возможно?
Точно сходу не скажу поддерживается это или нет, вроде не использовал. Попробуйте так:
УдалитьПервая галерея:
[!EvoGallery? &display=`images` &docId=`2`!]
ну и вторая галерея:
[!EvoGallery? &display=`images` &docId=`5`!]
Соответственно 2 и 5 - это ID страниц контейнеров, на которые мы загрузили изображения.
те же грабли с шопкипером...
ОтветитьУдалитьфотки грузятся на страницу, но выводятся только уменьшенные, большое фото раскрывается ...
(переходим по ссылке на это изображение в увеличенном виде) - так и ты пишешь...
какой код нужно указать ?
1 и 3 пункты я сделал... расположил как ты говоришь, но
п.2. "Редактируем тег head. Подключаем css, js из папок и jquery.min.js.
непойму.....
у меня там уже:
+ Добавил скрипт:
$(document).ready(function(){
$("a[rel^='prettyPhoto']").prettyPhoto();
});
что нужно вставить - убрать?
Писал давно, когда сам это делал на автомате и не понимал и не вдумывался в смысл как оно работает.
УдалитьНу смысл такой:
Для начала всё должно работать на сайте даже для обычных фотографий. Рекомендую проверить это в первую очередь. Дам краткий алгоритм.
Нужно подключить библиотеку jQuery, на которой написана масса различных увеличилок изображений. Воспользуюсь примером отсюда: http://leandrovieira.com/projects/jquery/lightbox/
Вы же можете взять любую по поиску на гугле по фразе jquery lightbox.
Рассмотрим мой пример с сайта по ссылке выше:
<script type="text/javascript" src="../../assets/js/jquery-1.2.1.pack.js"></script>
Здесь автор подключает саму библиотеку jquery
и собственно сам лайтбокс:
<link rel="stylesheet" type="text/css" href="../../assets/css/style-jquery-lightbox.css?version=45" />
<script type="text/javascript" src="js/jquery.lightbox-0.5.pack.js"></script>
<link rel="stylesheet" type="text/css" href="css/jquery.lightbox-0.5.css" media="screen" />
Всё теперь минимум на сайте есть, чтобы при клике на картинку появлялся поп-ап с ее увеличенным представлением.
Чтобы понятнее было использование самого скрипта можно почитать документацию по jquery, это не повредит. Я бы порекомендовал на сайте http://www.wisdomweb.ru/JQ/jquery-first.php
Далее собственно вызываем скрипт:
<script type="text/javascript">
$(function() {
$('#gallery a').lightBox();
});
</script>
и теперь для всех элементов, которые удовлетворяют селектору $('#gallery a') будет включаться лайтбокс.
Попробуйте проделать все шаги в обычном html файле. Если получится и поймете смысл - значит получится и в modx. Удачи!!!
вижу в установке моей уже есть в /assets/js/fancybox/ какие-то скрипты и стили... но немогу подключить все-равно... на вордпрессе все было легко.. а тут чтото совсем за тупил я в этом...
ОтветитьУдалить