Всем привет!
Имеется: Joomla! 2.5.8, Zoo 3.0.5 Pro. Сайт предназначен для скачивания файлов, в т.ч. через моб. девайсы.
Задача: автоматизировать вывод qr-кода для конкретного файла конкретной статьи без сохранения изображения и нагрузки на сервер.
Решение:
1. при необходимости скопируйте элемент download из папки /media/zoo/elements/ в соответствующую папку приложения zoo и переименуйте все связанные файлы
2. в файле download/tmpl/download.php или, если вы сделали копию, то копия-download/tmpl/копия-download.php перед определением ссылки
<a class="yoo-zoo element-download-....
вставьте код на основе
Google Chart Tools:
<img src="http://chart.apis.google.com/chart?cht=qr&chs=148x148&choe=UTF-8&chld=Q|0&chl='.JURI::base().''.JRoute::_($download_link).'" alt="'.$download_name.'" />
3. а дальше всё как с обычным элементом download - в типе приложения добавляете этот правленый элемент, в нужном лаёте выставляете "Показывать" то, куда Вы добавили qr-code (либо с кнопкой, либо с картинкой...)
на выходе имеем картинку с валидным qr-кодом, с нужным размером и ссылкой на тот файл, который выбрали в редакторе статьи, без нагрузки на серевер и захламления копиями этих картинок.
Плюс от использования такой конструкции:
> при большом кол-ве посетителей вся нагрузка на генерирование qr-кода ложится на гугловский сервер (а не отнимает драгоценные ресурсы родного хоста как при использовании Joomla модулей/плагинов-генераторов);
> .JURI::base(). позволяет сайтам с доменами-зеркалами не привязываться к основному домену при передаче гугл-серверу полного url пути к файлу
например, у вас домен
www.site1.com и ещё несколько отличных доменов site2.net, site3.biz, и все они привязаны к одному сайту, залив нужный файл на сайт, вам не нужно давать запрос на генерацию для каждого домена, .JURI::base(). подставляет имя текущего домена и выдает полный путь к файлу с этим доменом, т.е. chl=site1.com/folder/file.zip или chl=site2.net/folder/file.zip или chl=www.site3.biz/folder/file.zip - картинка qr-кода разная, а путь всегда ведет к нужному файлу.
может кому пригодится
