Плагин превьюшек mAvik Thumbnails 2 - версия для Joomla 3

  • 521 Ответов
  • 47928 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн mavik

Готова версия 2 плагина mavik Thumbnails
Минимальная необходимая версия Joomla 3.1.0
Скачать (2.3.2)

Теперь плагин будет выходить в двух версия: базовая и pro.
Базовавая по функционалу практически не отличается от первой версии, но внутри плагин довольно существенно переделан - писался почти с нуля специально под Joomla 3.

При обновлении сайта с Joomla 1.5-2.5 до 3.х надо удалить плагин, а после обновления Jooma установить новую версию.
is
Отличия для обычного пользователя:
  • Совместимость с Joomla 3
  • Новые типы всплывающих окон
  • Поддержка графических библиотек: gd2, ImageMagick, GraphicsMagick
  • Добавление мета-тега og:image
  • Возможность пропускать изображения внутри ссылок
  • Настройка стала сложнее - это расплата за большую гибкость. Теперь для любого контекста можно прописать свои настройки

Изменения для разработчиков:
  • Для генерации html-кода используются слои. Их можно переопределить в своем шаблоне.
  • Можно добавить свой тип popup-окна - плагин сам обнаружит это и отобразит в настройках.
  • Можно писать свои собственные обработчики для контекстов. В качестве примера можно посмотреть как обрабатываются изображения в блоге материала.
  • Генератор превьюшек вынесен в отдельную независимую библиотеку mavik/thumb. Ее можно использовать для генерации превьюшек в собственных расширениях, в том числе в шаблонах. Пример использования в шаблоне (try - на случай проблем с файлом изображения):
jimport('mavik.thumb.generator');
$thumbGenerator = new MavikThumbGenerator();
try {
    $image = $thumbGenerator->getThumb($src, 200, 150);
    echo '<img src="'$image->thumbnail->url.'" />
} catch (Exception $exc) {}

Версия Pro платная и включает некоторые специфические возможности:
  • галерея
  • обработка изображений привязанных к статье через вкладку "Изображения и ссылки"
  • увеличение изображения при наведении курсора
  • поддержка дисплеев повышенной четкости (Retina)

Стоимость версии Pro - 10$ (оплата кредиткой через платежный сервис)
Включает в себя 1 год обновлений и технической поддержки для одного домена.
Использование не ограничено.
Купить Pro-версию
После оплаты надо указать домен для которого хотите получать техническую поддержку, а также любое количество доменом, на которые планируете установить плагин.

Жду отзывов на темы:
  • Обнаруженные баги.
  • Желаемые типы popup-окон

Также готов объяснить как использовать отдельно библиотеку и как использовать продвинутые настройки.
А в этим посте о том, как использовать bootstrap в joomla (это по поводу рамок на превью).
« Последнее редактирование: 26.10.2016, 02:22:30 от mavik »
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.

*

Оффлайн Lix

Вау! Просто праздник какой-то!

Спасибо вам огромное и низкий поклон, ваш плагин реально самый лучший и удобный из всех перепробованных!

*убегает тестить*

*

Оффлайн mavik

Расскажу немного о новых возможностях.

Переопределение генерируемого html-кода в шаблоне.

В директории plugins/content/mavikthumbnails/tmpl находятся файлы со слоями для различных типов всплывающих окон и специальных контекстно-зависимых обработчиков (на данный момент всего один - для блогов категории и избранного).
Эти файлы необходимо скопировать в шаблон в директорию html/plg_content_mavikthumbnails
Там их можно править по своему усмотрению.
Увидеть все передаваемые в слой параметры можно при помощи кода:
var_dump($this);Основные параметры:
$this->image - объект для работы с img-тегом. Имеет следующие методы: getAttribute(аттрибут), setAttribute(аттрибут, значение), getWidth(), getHeight(), setWidth(ширина), setHeight(высота). Отдельные методы для работы с размерами нужны из-за того, что высота и ширина могут быть заданы через встроенные стили тега, а не только в аттрибутах. Для отображения тега: echo (string) $this->image
$this->info - объект содержащий информацию об оригинальном изображении и превьюшке. Все свойства публичные, методов нет.
$this->item - ссылка на объект переданный плагину для обработки (статья контента и т.п.).
$this->params - параметры объкта переданного плагину для обработки.
$this->isThumbnail - флаг, говорит о том, что для данного изображения создана превьюшка (если у изображения не был изменен размер, то превьюшка не создается).
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.

*

Оффлайн mavik

Использование библиотеки mavik/thumb

В описании я уже привел пример, как использовать библиотеку с дефолтными настройками в шаблоне. Теперь немного подробнее.
jimport('mavik.thumb.generator');
$thumbGenerator = new MavikThumbGenerator(array(
        'thumbDir' => 'images/thumbnails', // Директория для превьюшек
        'subDirs' => true, // Создавать поддиректории для повторения оригинальной структуры директорий
        'copyRemote' => false, // Копировать изображения с удаленных серверов.
        'remoteDir' => 'images/remote', // Директория для работы с изображениями с удаленных серверов.
        'quality' => 90, // Качество jpg. От 1 до 100.
        'resizeType' => 'fill', // Метод ресайзинга. Доступные значения: fill, fit, streach, area
        'defaultSize' => '', // Когда использовать размер по умолчанию. Возможные значения: '', 'all', 'not_resized' - никогда, всегда, если размер не изменен (совпадает с оригиналом)
        'defaultWidth' => null, // Ширина по умолчанию
        'defaultHeight' => null, // Высота по умолчанию
));
$image = $thumbGenerator->getThumb($item->image, 200, 150); // Получить превьюшку размером 200х150 точек.

Указывать все настройки не обязательно, вместо пропущенных будут использоваться значения по умолчанию (те что указаны в этом коде).

Методы ресайзинга:
  • fit - изображение сохранит пропорции и будет вписано внутри области с заданными размерами;
  • fill - будет создана превьюшка указанного размера, если пропорции не совпадают, края будут отризаны;
  • streach - изображение будет растянуто до указанного размера;
  • area - размер превьюшки будет таким, чтобы она занимала такую же площать, как превьюшка указанного размера, может быть полезным когда попадаются изображения очень разных пропорций и надо сделать их визуально одного размера;

Объект $image будет содержать два свойства: original, $thumbnail. Первое содержит информацию об оригинальном изображении, второе о превьюшке.
Свойства:
  • url
  • path
  • width
  • height
  • size - размер файла в байтах
  • type - jpg, png, gif
  • local - локальное или с другого сервера

В случае ошибки библиотека выбрасывает исключение.

Также доступны методы позволяющие изменить настройки на ходу:
setDefaultSize($case, $width, $height)
setResizeType($type)
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.

очень ждал выхода этого плагина под 3-ю версию!

Спасибо огромное!

Установил, работает всё прекрасно! Но... если поставить в настройках "Выполнять - только для классов" выдал:

Fatal error: Call to a member function getAttribute() on a non-object in Z:\home\new-mavik\www\plugins\content\mavikthumbnails\mavikthumbnails.php on line 140

Joomla - чистенькая 3.2.3, установил специально чтоб потестить!

Скажите как поправить эту строчку?

*

Оффлайн mavik

Спасибо за отзыв и сообщение об ошибке.

Надо заменить
$imgClasses = explode(' ', $this->img->getAttribute('class'));
на
$imgClasses = explode(' ', $this->imgTag->getAttribute('class'));

В файле для закачки поправил.
« Последнее редактирование: 28.03.2014, 15:28:39 от mavik »
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.

*

Оффлайн 122rus

не переходил на Joomla 3 ждал ваш плагин.
поставил чистую Joomla! 3.2.3 Stable [ Ember ].
поставил  Плагин превьюшек mAvik Thumbnails 2
включил,
use for : all images
popup  type: slimbax 2
 вредакторе jce  редактируется (ресайзитася) картинки в попке(images/thumbnails) создаются, на странице появляется картинка, а ссылки на  slim box2 нет.
привожу кусок кода
<p><img src="/images/thumbnails/images/headers/walden-pond-fit-393x101.jpg" alt="walden-pond" width="393" height="101">1111</p>
что  я не включил?

*

Оффлайн mavik

Можете в файле plugins/content/mavikthumbnails/tmpl/slimbox2.php
после defined('_JEXEC') or die();
вставить строку
var_dump($this);
и показать результат вывода этой строки?
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.

*

Оффлайн Lix

При установленной настройке Контекстно-зависимая обработка (Yes), если в категории имеется картинка, то выдает
 
Fatal error: Call to a member function get() on a non-object in /home/********/plugins/content/mavikthumbnails/tmpl/com_content.category.php on line 12

*

Оффлайн mavik

При установленной настройке Контекстно-зависимая обработка (Yes), если в категории имеется картинка, то выдает
 
Fatal error: Call to a member function get() on a non-object in /home/********/plugins/content/mavikthumbnails/tmpl/com_content.category.php on line 12

Межете в этом файле строкой више, после defined('_JEXEC') or die();вставить
var_dump($this); и показать результат вывода?
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.

*

Оффлайн Lix

Там здоровенная простыня получается, поскольку точно не знаю что может иметь для вас значение, то вот ссылка, показ ошибок включен http://www.africashow.ru/animals.html. Сами гляньте.

Вообще ошибка легко моделируется, проверил на другом сайте. Берете любую категорию, вставляете в ее заголовок картинку, в настройках включаете отображение описания категории. Далее заходим через меню - и готово, ошибка!


*

Оффлайн 122rus

Можете в файле plugins/content/mavikthumbnails/tmpl/slimbox2.php
после defined('_JEXEC') or die();
вставить строку
var_dump($this);
и показать результат вывода этой строки?
после исполнения вашей просьбы не чего не изменилось
если поставить
Context-depended processing NO
то получается следующее

http://test.imbars.ru/

*

Оффлайн FoxLis

Здравствуйте.
После установки плагина сайт вообще не отображается, выдаёт ошибку:
Fatal error: Call to undefined method JPluginHelper::getLayoutPath() in /home/.../http/plugins/content/mavikthumbnails/decorators/DecoratorAbstract.php on line 61

Joomla! 3.0.1

*

Оффлайн mavik

Здравствуйте.
После установки плагина сайт вообще не отображается, выдаёт ошибку:
Fatal error: Call to undefined method JPluginHelper::getLayoutPath() in /home/.../http/plugins/content/mavikthumbnails/decorators/DecoratorAbstract.php on line 61

Joomla! 3.0.1

Вероятно, надо обновить Joomla!
В описании этого метода заявлено, что он добавлен начиная с версии 3.0, но видимо это не так.
Попробую поискать старые версии Joomla и проверить начиная с какой версии он присутствует.
Возможно добавлю проверку наличия и свою реализацию.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.

*

Оффлайн mavik

Проверил по истории Joomla, когда был реализован метод JPluginHelper::getLayoutPath() - начиная с версии 3.1
Так что минимальная совместимая версия Joomla - 3.1
Кому-то нужна еще поддержка 3.0, или все обновились?
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.

*

Оффлайн mavik

Вообще ошибка легко моделируется, проверил на другом сайте. Берете любую категорию, вставляете в ее заголовок картинку, в настройках включаете отображение описания категории. Далее заходим через меню - и готово, ошибка!

Теперь понял, где у вас возникает ошибка. Постараюсь сегодня исправить.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.

*

Оффлайн FoxLis

Проверил по истории Joomla, когда был реализован метод JPluginHelper::getLayoutPath() - начиная с версии 3.1
Так что минимальная совместимая версия Joomla - 3.1
Кому-то нужна еще поддержка 3.0, или все обновились?
Спасибо за оперативность!
Будем обновляться.

*

Оффлайн mavik

Ошибку при наличии изображения в описании категории исправил.
На закачке уже обновленная версия.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.

*

Оффлайн mavik

122rus, попробуйте включить в настройках Joomla максимальный вывод сообщений об ошибках.
Пока слишком мало информации, чтобы понять в чем дело.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.

*

Оффлайн Lix

Ошибку при наличии изображения в описании категории исправил.
На закачке уже обновленная версия.

Спасибо! Все замечательно работает.

Но есть одна бааальшая недоработка ;) В description нет никаких возможностей поблагодарить автора, ну там счет Webmoney или PayPal какой нить :) Я не думаю, что вы на этом разбогатеете, народ то все больше жадный, но может пойдете навстречу тем, кто такое желание имеет? Ведь ваш плагин реально наиболее удобный в использовании и самый эргономичный из всех, которые я перепробовал. У всех остальных то класс надо вводить,  то еще что-то, то вовсе пихать код в текст материала - а у вас вставил фотку, задал размеры и ВСЕ! Когда много статей и в каждой по нескольку превьюшек, то разница чувствуется очень сильно.
Вот и хочется сказать спасибо не на словах, а как-то более весомо :) Я бы и коньяк в Ивано-Франковск передал, да только в нынешнем политическом бардаке это малореально :(

*

Оффлайн 122rus

122rus, попробуйте включить в настройках Joomla максимальный вывод сообщений об ошибках.
Пока слишком мало информации, чтобы понять в чем дело.

сегодня скачал еще раз и переустановил плагин и активировал, создал материал  вставил изображение и все ГУД..
работает ошибок нет в лога у нжикса тоже нет..

ВЕЛИКОЛЕПНО!

*

Оффлайн Jurri

Вот не пойму- вокруг уменьшенной картинки висит рамка по ширине столбца (примерно 1px) и плюс еще картинка сама в рамке (примерно 2px). Рамка в рамке получается. Как избавиться от этих рамок. Шаблон "purity III" на T3.

*

Оффлайн mavik

Вот не пойму- вокруг уменьшенной картинки висит рамка по ширине столбца (примерно 1px) и плюс еще картинка сама в рамке (примерно 2px). Рамка в рамке получается. Как избавиться от этих рамок. Шаблон "purity III" на T3.

Если используете окошко Slim2, то картинка оформлена вот в такой код
<a class="pull-right thumbnail" title="" rel="lightbox-1" href="/joomla32/images/sampledata/parks/landscape/800px_cradle_mountain_seen_from_barn_bluff.jpg">
<img class="pull-right" width="197" height="148" alt="" src="/joomla32/images/thumbnails/images/sampledata/parks/landscap…/800px_cradle_mountain_seen_from_barn_bluff-fill-197x148.jpg"></img>
</a>
Почему отображается две рамки, смотрите в стилях.
А далее либо меняйте стили, либо можете переопределить в шаблоне код для обрамления изображения (инструкция есть чуть выше).
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.

*

Оффлайн Rival

Реально единственный плагин из за которого не мог обновить J2.5 на J3. Спасибо.
Вопрос, мутулз можно полностью отключить?

*

Оффлайн mavik

Реально единственный плагин из за которого не мог обновить J2.5 на J3. Спасибо.
Вопрос, мутулз можно полностью отключить?

Если будете использовать Slimbox2 или highslide то Mootools не нужен.
Кстати, планируется подключение и других типов окон - жду пожеланий по этому поводу.
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.

*

Оффлайн Jurri


Почему отображается две рамки, смотрите в стилях.
А далее либо меняйте стили, либо можете переопределить в шаблоне код для обрамления изображения (инструкция есть чуть выше).

Использую highslide. Перечитал все ваши рекомендации, но так и не понял где мне нужно, что-то изменить. Рамки реально все портят, может их по умолчанию сразу вам ампутировать.
Если не трудно можно чуть подробнее как я сам могу это сделать.
В предыдущих ваших версиях коды править было не нужно.

Сейчас использую альтенативный плагин, он рамок не создает. Правда там есть свои нюансы.
А я уже привык к вашему плагину и хотел бы использовать его.
Благодарю.

*

Оффлайн mavik

Правка кодов обрамления изображения - это не необходимость а возможность. Если вам по каким-либо причинам не подходит тот код, что добавляет плагин (например в вашем случае плохо стыкуется с шаблоном), вы можете его заменить на свой в шаблоне.

Думаю вам надо скопировать файл /plugins/content/mavikthumbnails/tmpl/highslide.php
в папку html/plg_content_mavikthumbnails в вашем шаблоне.
Затем в созданной копии заменить строку
$class = $this->image->getAttribute('class')? $this->image->getAttribute('class').' thumbnail highslide' : 'thumbnail highslide';
на
$class = $this->image->getAttribute('class')? $this->image->getAttribute('class').' highslide' : 'highslide';

Но это только предположение. Рамки прописаны в шаблоне, плагин их не добавляет. Почему шаблон добавляет двойную, надо смотреть в самом шаблоне (извините, но это не имеет отношения к плагину и я этого делать не буду).
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.

*

Оффлайн dennioushen

Подскажите возможно ли в тип "joomla modul" добавить стрелки влево, вправо для перехода к следующим картинкам.
Т.к. тип "slimbox" большие картинки не адаптирует под размеры окна браузера :( , картинка выходит за рамки браузера....

№ 1 Скриншот отображения Joomla Modul
№ 2 Скриншот отображения SlimBox

Joomla 2.5 шаблон от yootheme com

Заранее большое спасибо за помощь.
« Последнее редактирование: 09.04.2014, 19:23:43 от dennioushen »
Cемья тебя простит... Дон Корлеоне

*

Оффлайн 122rus

php ругался


2014/04/09 17:55:37 [error] 656#0: *450570 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined property: Plugin\Content\MavikThumbnails\ImgTag::$_attributes in /var/www/test/www/plugins/content/mavikthumbnails/imgtag.php on line 75
PHP message: PHP Notice:  Undefined property: Plugin\Content\MavikThumbnails\ImgTag::$_attributes in /var/www/test/www/plugins/content/mavikthumbnails/imgtag.php on line 79" while reading response header from upstream, client: 37.204.169.106, server: test.imbars.ru, request: "GET /ice-bank.html HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "test.imbars.ru", referrer: "http://test..ru/ru/"

в файле /plugins/content/mavikthumbnails/imgtag.php
строкой 24 добавил
 private $_attributes;

теперь в логи не пишет эту ошибку

*

Оффлайн mavik

Подскажите возможно ли в тип "joomla modul" добавить стрелки влево, вправо для перехода к следующим картинкам.
Т.к. тип "slimbox" большие картинки не адаптирует под размеры окна браузера :( , картинка выходит за рамки браузера....

Здесь осуждается версия 2 для Joomla 3. В ней окон Joomla Mootools нет, хотя, наверное, добавлю. А еще и окна из Bootstrap.
То, что вы хотите, есть в Hightslide. Но для использования на коммерческих сайтах надо покупать лицензию на него.
Либо можете подобрать скрипт (самостоятельный либо на jQuery) который работает так как вы хотите, и дать мне ссылку на него, если мне понравиться, добавлю его в новую версию.
Пожете подобрать скрипт, который работает так как бы хотите (желательно самостоятельный либо на jQ), и дать мне ссылку на него
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.