Виджет "Таблица картинок"
Виджет для InstantCMS 2.x
В дополнении к серии своих постов дополнений для InstantCMS 2.x (тут и тут) спешу поделиться следующим виджетом — "Таблица картинок".
К сожалению, выложить пример его работы на демосайт у меня пока нет возможности, поэтому постараюсь объяснить "на пальцах"...
Из названия понятно, что виджет выводит ряд картинок в виде таблицы. Картинки динамически меняются с различными анимационными эффектами. Клик по одной из картинок ведет на страницу ее просмотра (photos/view/{id-картинки}) с комментариями и голосованием. Варианты эффектов смены картинок настраиваются в разделе "Опции" виджета. Там же выбирается из какого альбома показывать картинки, а также несколько других параметров.
Установка производится стандартным способом: Панель администрирования → Компоненты → Установить пакет дополнения, затем выбираем заранее скачанный пакет с виджетом и следуем инструкциям по установке. Тут написано немного подробнее.
Думаю виджет может быть полезен для привлечения пользователей сайта к просмотру определенного альбома.
Если у кого есть предложения и пожелания буду рад их выслушать.
Я немного обновил стили к виджету: фон картинок не черный, а прозрачный (так ближе к шаблону получается IMHO), но если кто хочет может раскомментировать строку /* background: #000; */. Также добавил обработку hover, чтобы картинки видней подсвечивались, так сказать обратная связь пользователю)) И исправил большой отступ снизу в стандартной обертке виджета.
Файл установки перезалил.
Что из себя представляют рабочие картинки можно посмотреть на видео:
www.youtube.com/watch?v=B9U1PkgqjkAP.S. жду фидбека от потенциальных пользователей =)
Осталось непонятным как настраивается вывод количества картинок. При установке виджета в тело страницы а потом в сайдбар, показывается разное их количество. Хотя в опциях ничего не менялось.
Упс… Сейчас добавил фото в альбом, количество отображаемых картинок увеличилось, эффекты работают, но переходы на просмотр картинок не осуществляются. Странно...
После перезапуска сервера и очистки кеша браузера работа виджета было восстановилась. Однако при перемещении виджета в сайдбар опять таже беда — при клике на картинку переход на просмотр фото не происходит. Странно...
И всё же, как настраивается количество выводимых картинок?
По дефолту в теле страницы выводится 21 картинка (3 строки по 7 штук в каждой), а для сайдбара 8 картинок (2 строки по 4 шт). Это для виджета без стандартной обертки, т.е. без заголовка и тела виджета. При этом если картинок в альбоме меньше чем требуется для показа, то количество выводимых уменьшится на требуемое количество строк. Если же картинок очень мало, что даже и одну строку не получается заполнить, то выводится половина строки, но это не совсем красиво смотрится.Осталось непонятным как настраивается вывод количества картинок. При установке виджета в тело страницы а потом в сайдбар, показывается разное их количество. Хотя в опциях ничего не менялось.
Предполагалось, что никому не захочется менять количество выводимых картинок вручную. Функционал заложен, осталось реализовать опции. Если же есть желание, то на данный момент это можно сделать правкой шаблона (файл templates\default\controllers\content\widgets\imagegrid\imagegrid.tpl.php)
внизу в тело скрипта добавляем следующее:
<script type="text/javascript"> $(function() { $( '#ri-grid' ).gridrotator({ w768 : { // в теле страницы rows : 3, // <- количество строк columns : 7 // <- количество столбцов (картинок в строке) }, w320 : { // для сайдбара rows : 2, columns : 4 }, step : <?php echo $step ?>, maxStep : <?php echo $max_step ?>, preventClick : true, animType : <?php echo $animation_type ?>, animSpeed : <?php echo $animation_speed ?>, interval : <?php echo $interval ?>, slideshow : true, onhover : false, nochange : [] }); }); </script>
Честно говоря очень странно! Выводимые картинки это ссылки на компонент photos/view/<id_картинки>, это можно посмотреть в шаблоне виджета.Однако при перемещении виджета в сайдбар опять таже беда — при клике на картинку переход на просмотр фото не происходит. Странно...
Варианта 2: либо неверные ссылки, тогда должен выводить ошибку 404, либо конфликтует компонент фотографий, в этом случае даже не знаю что делать, нужно детально смотреть что и как в вашей системе.
Виджет, как и шаблон инстанта, адаптированный — подстраивается под разрешение экрана =)
Уважемый Val, тема очень интересна и я бы даже купил — но не под вторую ветку…Судя по количеству просмотров и ответов тема либо неинтересна либо непонятно раскрыта
Конечно "движок" еще очень молодой, но довольно перспективный. А с появлением магазина и выходом все новых и новых компонентов и виджетов, он быстро достигнет функционала первой ветки.
Поставил на дефолтный шаблон. Обнаружил следующие проблемы:
1. При установке виджета в тело страницы, показывается 2 картинки из альбома, где лежит 4.
При этом страница с картинкой открывается после 5 — 10 кликов.
2. При одновременной установке виджета в тело страницы и сайдбар, в теле страницы отображается 1 картинка (из того же альбома с 4-мя картинками). В сайдбаре виджет вообще не показывается.
3. При удалении виджета из тела страницы, виджет в сайдбаре начинает отображаться, но при этом не работают эффекты,
и при клике на картинку переход на страницу с альбомом не происходит.
1. Я уже отвечал в 4 посте, что при малом количестве картинок (а по умолчанию требуется 22 картинки) выводятся не все строки, а только количество строк которые полностью могут быть заполненными картинками. Или же, если картинок очень мало (как раз случай из 4 приведенных вами картинок), то выводится только половина из них (в нашем примере 2 штуки). Это необходимо для того чтобы обеспечить динамичность картинок, они должны менять друг друга. А если вывести все картинки, то менять их будет нечем, они уже все на экране )). Это как раз и получается в приведенной вами 3 проблеме. На экране показываются все картинки, которые нечем менять, и, как-бы, не работают эффекты.
Другое дело, что по логике, как я писал, должно было показываться 2 картинки а не 4! Буду разбираться =)
Почему переход происходит только после 5-10 кликов — не знаю, также нужно будет смотреть и исправлять!
А вот со вторым пунктом, сходу, не все так просто… протестирую дома и посмотрю в чем может быть причина и как это можно допилить…
Однако, главная проблема при тестировании у меня не устраняется — переход на просмотр фото при клике на картинку у меня по-прежнему не происходит. После нескольких удалений и установок виджета заново, виджет сначала работает без проблем, а потом (после добавления картинок либо после переноса в сайдбар или, наоборот, в тело страницы) эта проблема появляется вновь. Переход только иногда происходит при клике на картинку, но по какому-то случайному принципу, после многочисленных кликов на виджет, на разные фотки. Закономерность выявить не удалось.
Alexprofi тоже описал похожую ошибку.
Ссылки в виджете рабочие. Если на картинку кликнуть правой кнопкой и выбрать "Открыть в новом окне", то страница с фото открывается без проблем. Но вот на клик левой кнопой — не реагирует сразу. Иногда только срабатывает сразу, если угадаешь на какое фото нажать. Как в игре в напёрстки )))
Уточню, что виджет тестировался на локальном компе с OpenServer. Чистая установка ICMS 2.1.1 с дефолтным шаблоном. Ни в систему, ни в шаблон никаких правок не вносилось. Других компонентов не устанавливалось.
Задумка виджета хорошая. Очень украшает сайт.