Похожие статьи

[Hack] Один материал в нескольких категориях для Joomla 2.5 (мультикатегории)

Обратились ко мне в очередной раз помощью на тему мультикатегорий для Joomla 2.5, также как и в случае с мультикатегориями для Joomla 1.5, только заказчик...

[Hack] Сортировка материалов по их рейтингу в Joomla 2.5

Задача - сделать возможность сортировки по рейтингу материала. Система рейтингов в стандартной конфигурации Joomla 2.5 уже присутствует, но вот возможности сортировать материалы по этим рейтингам почему то нет. Следующими изменениями мы исправим эту досадную оплошность.

Проблема Opera с Joomla и файла mootools-more.js

После последних обновлений Opera 12 возникли проблемы с работой сайтов на движке Joomla, а если быть более точным, то перестала работать библиотека mootools и все что с ней связано соответственно. Проблема связана с сжатием файла mootools-more.js из-за содержания в нем локальных символов. Соответственно...

Последние обновления

Исправление пропавших iOS устройств в Android Studio

После очередного обновления Xcode в Android Studio пропали все устройства iOS, как физические так  и симуляторы. В самом Xcode при этом все устройства были прекрасно видны.

Монтируем EXT2, EXT3, EXT4 в Mac OS

Mac OS самостоятельно работать с файловой системой Linux, таких как EXT2, EXT3, EXT4, не может. Для решения этой проблемы есть платное решение extFS от Paragon, но есть и бесплатный вариант для тех кто не боится командной строки. Для этого нам понадобиться приложение fuse-ext2.

Установка Windows 11 без интернета или без учетной записи Microsoft

Windows 11 при первичном запуске требует подключения интернета и учётной записи Microsoft, но на практике бывают ситуации когда нет интернета или нет желания использовать учетную запись Microsoft. Например, в моём случае при подключении WiFi выдавало сообщение "oops you've lost internet connection".

RokBox масштабирование изображений под размер экрана Joomla 1.5 и выше

Есть такой хороший плагин как RokBox , который позволяет открывать медиа контент в всплывающих окнах. И всем впринципе хорош и удобен, но вот для меня нашлась одна проблема - он не масштабировал изображения если они не влазят в экран. На сколько я понял сторону разработчиков по этому вопросу, исправлять они это не будут, считая, что мы должны выкладывать заранее уменьшенные изображения, чтобы они влазили в экран. Я же в этом плане с ними не согласен, ведь в угоду современности, на сайт могут заходить не только с ПК у которых разрешение в большинстве своём начинается от 1280х1024 и выше, но и с портативных устройств, у которых разрешение зачастую 800х600, и как быть в таком случае, на каком разрешение картинок остановиться? На мой взгляд нужно останавливаться на максимальном, а для тех у кого экраны меньше просто масштабировать и не нужно сюда приплетать расход трафика, те у кого трафик безлимитный им пофиг, а у кого лимитированный. тот вообще обычно картинки не грузит.

Ну и решил я это исправить и сделать большие изображения масштабируемыми. Для этого мне пришлось немного исправить файл RokBox.js (plugin/system/rokbox/). Реализовать я решил это путем сравнения размеров изображения с размерами окна браузера и если изображения оказывалось больше, то в качестве размеров выставляется 90% от размеров окна браузера с сохранением пропорций. Для этого я добавил следующий кусок кода:

					aspect = this.height/this.width;
this.width = (this.width < (winSize.x*0.9)) ? this.width : winSize.x*0.9;
this.height = Math.round(aspect * this.width);
if (this.height > (winSize.y*0.9)) {
this.height = winSize.y*0.9;
this.width = Math.round((1/aspect) * this.height);
}

Но поскольку сам файл RokBox.js изначально упакован разработчиками, внести просто так изменений не получиться, поэтому я выкладываю сразу готовый файл с уже внесенными изменениями. Так что вам остается только заменить файл. Пример работы можете увидеть на главной странице моего сайта, кликнув по любой картинке в блоке Последнее творчество.

RokBox.zip - основан на версии скрипта используемом в последних версиях RokBox (Joomla 1.5 RokBox 2.8 / Joomla 2.5 RokBox 1.4)