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

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Вот обнаружил сайт http://wallpapes.ru/wallpapers.html?func=detail&id=1577, на нем как видно, можно скачать картинку с заданным разрешением. Сайт сделан на JoomGallery, скорее всего.
Как так же сделать? Чтобы пользователь мог скачать только с тем разрешением, с которым ему нужно?
Вот скриншот, если кому не захочется посмотреть это на самом сайте
« Последнее редактирование: 04.01.2012, 16:05:25 от Garum »
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Уважаемые знатоки! Не молчите! Очень нужна помощь! Я уже написал письмо админу данного сайта, но он еще не ответил, и вряд ли ответит :)
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол

Боюсь, что не смогу дать исчерпывающий ответ, потому что искал я совсем другое да уже почти год прошел

На сколько я помню, JoomGallery (и судя по только что скачанному мной архиву) следует благодатнейшему шаблону проектирования MVC

так что для того чтобы добавить столь нужный список вариантов нужно залезть в один из файликов, находящихся в категории components/com_joomgallery/views/image/tmpl (если конечно лицензия позволяет), хотя может и не image, по знакомым тегам найти не сложно. Вручную жестко или логично мягко (хотя по идее это задача контроллера, но кто увидит?) добавить ссылки с заголовками как у форматов.
Далее можно позаимствовать немного у друзей с некоторого сайта, а именно содержание href:
javascript:joom_openjswindow('http://wallpapes.ru//components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/_1183/_1705/wheels_wallpapes_ru_106_20110519_1153928037.jpg&w=320&h=480','Wheels wallpapes ru_106', '320','480')

как получить ссылку не трудно понять из кода "вьюхи"
есть загвоздка в виде phpThumb.php. Но это уже дело программистское и не относится к цели моего ответа, т.е. это придется самому писать.
Но основная суть получить параметром src путь до картинки и записать в буфер (php.su / php.net в помощь) там ее ужать до размеров в параметрах w и h b и выплюнуть например в папку cashe (точно не помню но какая то из папок должна очищаться как бы сама). + ко всему нам передается новое имя файла его мы используем для нашего файлика в возвращаемом HTML. Единственное замечание, что я точно не знаю что именно принимает joom_openjswindow, т.к. это встроенное в JoomGallery, возможно, прямо битовый поток ХЗ.

PS. 1) Если все-таки это есть в каком то extetion'e или plugin'e можете меня об***ть, хотя мне пофиг
2) можно обойти joom_openjswindow возвращая сразу http ответ, смотри header() /*php*/
3) разные форматы на сайте-примере сделаны убого
4) писать код мне некогда и не хочется, тем более обед закончился
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Попробовал сделать для себя, вроде получилось, но надо проверить - JoomGallery Version 1.5.7.2.

1. Скачиваем phpThumb и распаковываем в папку /components/com_joomgallery/thumb/
2. Переименовываем файл phpThumb.config.php.default в phpThumb.config.php
3. Открываем файл /components/com_joomgallery/views/detail/tmpl/default.php и после строки №217 вставляем этот код:
Код
<?php $catpath  = JoomHelper::getCatPath($this->image->catid); $params = array(); JHTML::_('behavior.modal', 'a.PopUp', $params); ?>
<a href="/components/com_joomgallery/thumb/phpThumb.php?src=/images/joomgallery/originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1024&h=768&zc=1" class="PopUp" rel="{handler:'image'}">1024x768</a><br />
<a href="/components/com_joomgallery/thumb/phpThumb.php?src=/images/joomgallery/originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=800&h=600&zc=1" class="PopUp" rel="{handler:'image'}">800x600</a><br />
<a href="/components/com_joomgallery/thumb/phpThumb.php?src=/images/joomgallery/originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=600&h=480&zc=1" class="PopUp" rel="{handler:'image'}">600x480</a><br />

Если не нужны модальные красивости, можно сделать проще:
Код
<?php $catpath  = JoomHelper::getCatPath($this->image->catid); ?>
<a href="#" onclick="window.open('/components/com_joomgallery/thumb/phpThumb.php?src=/images/joomgallery/originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1600&h=1200&zc=1','<?php echo $this->image->imgtitle; ?>', 'width=1600,height=1200,status=no,resizable=yes'); return false;">1600x1200</a><br /> 
<a href="#" onclick="window.open('/components/com_joomgallery/thumb/phpThumb.php?src=/images/joomgallery/originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1280&h=1024&zc=1','<?php echo $this->image->imgtitle; ?>', 'width=1280,height=1024,status=no,resizable=yes'); return false;">1280x1024</a><br /> 
<a href="#" onclick="window.open('/components/com_joomgallery/thumb/phpThumb.php?src=/images/joomgallery/originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1024&h=768&zc=1','<?php echo $this->image->imgtitle; ?>', 'width=1024,height=768,status=no,resizable=yes'); return false;">1024x768</a><br />

Думаю из кода сразу все будет понятно. Молоко и сахар добавлять по вкусу. ;)
« Последнее редактирование: 04.07.2011, 04:41:53 от jem777 »
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Всем привет! jem777 не получается как вы написали, во первых папки thumb по пути /components/com_joomgallery/thumb/ нет я попробовал распаковать в components\com_joomgallery\img_thumbnails, но все равно не получается.
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Забыл уточнить - создаем папку /components/com_joomgallery/thumb;)
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Абсолютно ничего не происходит на JoomGallery 1.5.7.4, такой папки /images/joomgallery/originals/ нет, попробовал поменять путь на components/com_joomgallery/img_originals - ничего не вышло. Где должен появиться выбор скачиваемого разрешения? Я так понимаю в детальном виде, но там ничего нет.
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Что-то начало вырисовываться, когда я данный код установил на 167-ю строку, но при нажатии выдает ошибку как вот здесь: http://phpthumb.sourceforge.net/demo/demo/phpThumb.demo.demo.php под номером пять.
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Забыл сказать сайт на денвере, библиотека gd2
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Все заработало! Спасибо! С меня плюс. Вот правильный код для галереи 1.5.7.4, вставляем ее в 167-ю строку:
Код
<br />
<?php $catpath  = JoomHelper::getCatPath($this->image->catid); ?>
<a href="#" onclick="open('/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1920&h=1200&zc=1','<?php echo $this->image->imgtitle; ?>', 'width=1920,height=1200,status=no,resizable=yes'); return false;">1920x1200</a><br /> 
<a href="#" onclick="open('/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1600&h=1200&zc=1','<?php echo $this->image->imgtitle; ?>', 'width=1600,height=1200,status=no,resizable=yes'); return false;">1600x1200</a><br /> 
<a href="#" onclick="open('/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1280&h=1024&zc=1','<?php echo $this->image->imgtitle; ?>', 'width=1280,height=1024,status=no,resizable=yes'); return false;">1280x1024</a><br /> 
<a href="#" onclick="open('/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1024&h=768&zc=1','<?php echo $this->image->imgtitle; ?>', 'width=1024,height=768,status=no,resizable=yes'); return false;">1024x768</a><br />
Здесь картинка открывается в новой вкладке.
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Как сделать еще ссылку на оригинал?
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
В IE9 не срабатывает. Как можно исправить? В остальных браузерах работает
« Последнее редактирование: 13.10.2011, 21:25:36 от Garum »
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
IE9 не понимает команду onclick="window.open
« Последнее редактирование: 14.10.2011, 16:21:22 от Garum »
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Вот теперь все сделал! Работает в IE, переделал чуток второй код jem777, только без модальных красивостей:
Код
<br />
<?php $catpath  = JoomHelper::getCatPath($this->image->catid); ?>
<a href="/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1920&h=1080&zc=1" class="PopUp" rel="{handler:'image'}" target="_blank">1920x1080</a><br />
<a href="/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1600&h=1200&zc=1" class="PopUp" rel="{handler:'image'}" target="_blank">1600x1200</a><br />
<a href="/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1280&h=1024&zc=1" class="PopUp" rel="{handler:'image'}" target="_blank">1280x1024</a><br />
<a href="/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1024&h=768&zc=1" class="PopUp" rel="{handler:'image'}" target="_blank">1024x768</a><br />
Осталось сделать ссылку на оригинал, пока не знаю ка сделать.
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Еще бы сделать, чтобы к картинке каждый раз добавлялся ватермарк, тогда все будет классно.
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Есть такое средство. Watermark средствами php и htaccess.
Почитай здесь или здесь
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
блин как не пытался не получилось установить ватермарк. Ну ладно фиг с ним.
jem777 не подскажете как отключить кэш в phpThumb?
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
А там очень просто. Я пользуюсь так:
1. создаю в корне сайта папку watermark
2. кладу в него прикрепленный файл watermark.php и изображение водяного знака watermark.png
3. в директории с фото (т.е. приблизительно в components/com_joomgallery/img_originals/), где надо наложить водяной знак, кладу прикрепленный файл .htaccess

все, если идет вызов фото из этой директории, скрипт автоматом кладет на него водяной знак при выводе в браузер.

[вложение удалено Администратором]
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
спасибо, конечно, за файлы, но ничего не выходит. Наверное из-за того что на денвере сайт. Попробую еще раз как-нибудь на хостинге. А не подскажете как отключить кэш в phpThumb?
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Без понятия, сходите к ним на сайт, может там есть информация.
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Все с кэшем разобрался. Спасибо вам большое, jem777!
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Еще вопрос. А возможно ли сделать так, чтобы ссылки на доступные размеры изменялись в зависимости от оригинального размера.
К примеру картинка имеет размер 1920х1080, и ссылки на доступные размеры будут не превышать данный размер. Если, например, картинки имеет размер 1600-1200, то ссылки будут иметь максимальный размер 1600-1200, и не больше.
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Наверное можно, но это уже сложнее. Тогда надо высчитывать размер оригинала и как то менять пропорции в процентном соотношении.
В общем морока. Там все тогда надо переделывать.))
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
А может попробуете сделать? Или подтолкните.
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Не обещаю, но посмотрю.))
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Напишу-ка я как отменить кэширование у phpThumb, может кому да и пригодится.
Отключаем кэш в phpthumb, для этого открываем файл phpThumb.php, лежит в корневой папке и удаляем строки, которые находятся в 586-й строке:
Код
else {

phpthumb_functions::EnsureDirectoryExists(dirname($phpThumb->cache_filename));
if (is_writable(dirname($phpThumb->cache_filename)) || (file_exists($phpThumb->cache_filename) && is_writable($phpThumb->cache_filename))) {

$phpThumb->CleanUpCacheDirectory();
if ($phpThumb->RenderToFile($phpThumb->cache_filename) && is_readable($phpThumb->cache_filename)) {
chmod($phpThumb->cache_filename, 0644);
RedirectToCachedFile();
} else {
$phpThumb->DebugMessage('Failed: RenderToFile('.$phpThumb->cache_filename.')', __FILE__, __LINE__);
}

} else {

$phpThumb->DebugMessage('Cannot write to $phpThumb->cache_filename ('.$phpThumb->cache_filename.') because that directory ('.dirname($phpThumb->cache_filename).') is not writable', __FILE__, __LINE__);

}

}
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
jem777, с ватермарком разобрался. Предложенный вами способ не получилось реализовать. Реализовал с помощью самого phpThumb. Делается так, создаем ватермарк и кидаем его в папку images в корне сайта или в любую другую папку, затем добавляем к коду после zc=1 такую строку:
Код
&amp;fltr[]=wmi|/images/watermark.png|BR|100[/code
Вот пример:
Код
<a href="/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1920&h=1200&zc=1&amp;fltr[]=wmi|/images/watermark.png|BR|100"  rel="{handler:'image'}" target="_blank">1920x1200 px</a><br />
fltr[]=wmi|/images/watermark.png - здесь указываем путь к ватермарку;
BR - это положение ватермарка, в данном случае снизу справа (BR- bottom right). BL - внизу слева, BR - внизу справа, TL - сверху слева, TR - сверху справа, не придумал как поставить его по центру сверху, по центру снизу и просто по центру.
100 - это прозрачность ватермарка в %, если его не ставить по умолчанию ставится, вроде 25%.
Вот прилагаю полный код с ватермарком:
Код
<?php echo "доступные размеры"; ?><br>
<?php $catpath  = JoomHelper::getCatPath($this->image->catid);  ?>
<a href="/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&amp;fltr[]=wmi|/images/watermark.png|TR|100" rel="{handler:'image'}" target="_blank">оригинальный размер</a><br />
<a href="/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1920&h=1200&zc=1&amp;fltr[]=wmi|/images/watermark.png|BR|100"  rel="{handler:'image'}" target="_blank">1920x1200 px</a><br />
<a href="/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1920&h=1080&zc=1&amp;fltr[]=wmi|/images/watermark.png|BR|100"  rel="{handler:'image'}" target="_blank">1920x1080 px</a><br />
<a href="/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1680&h=1050&zc=1&amp;fltr[]=wmi|/images/watermark.png|BR|100"  rel="{handler:'image'}" target="_blank">1680x1050 px</a><br />
<a href="/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1600&h=1200&zc=1&amp;fltr[]=wmi|/images/watermark.png|BR|100" rel="{handler:'image'}" target="_blank">1600x1200 px</a><br />
<a href="/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1280&h=1024&zc=1&amp;fltr[]=wmi|/images/watermark.png|BR|100"  rel="{handler:'image'}" target="_blank">1280x1024 px</a><br />
<a href="/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1024&h=768&zc=1&amp;fltr[]=wmi|/images/watermark.png|BR|100"  rel="{handler:'image'}" target="_blank">1024x768 px</a><br />

Так же есть интересная возможность у phpThumb, это изменять только ширину, а высота изменится пропорционально, либо наоборот, для этого удаляем размер высоты и zc=1 (&h=1200&zc=1) и к размеру ширины &w=1920 добавим &amp;aoe=1 вот пример:
Код
<a href="/components/com_joomgallery/thumb/phpThumb.php?src=/components/com_joomgallery/img_originals/<?php echo $catpath; ?><?php echo $this->image->imgfilename; ?>&w=1920&amp;aoe=1&amp;fltr[]=wmi|/images/watermark.png"  rel="{handler:'image'}" target="_blank">1920x1200 px</a><br />
И картинка будет меняться пропорционально заданной ширине.

Надеюсь, что кому-то пригодится.

jem777 осталось только сделать чтобы размеры изображений  у phpThumb был меньше оригинального.
« Последнее редактирование: 21.10.2011, 20:36:34 от Garum »
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Вообще по хорошему, надо бы прибить этого разработчика за подобные эксперименты:

раньше было - /components/com_joomgallery/img_originals/
стало - /images/joomgallery/originals/
и теперь - /components/com_joomgallery/img_originals/
.... :o

По хотелкам...там надо условие на php писать по размерам. :dry:
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
есть идея как это сделать, но не могу реализовать. Тут как я понимаю должна быть проверка картинко. Например если картинка имеет разрешение 1900x1200, то выводить ссылку 1900x1200, иначе не выводить. и так на каждый размер.
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Микроразметка детального вида - решено

Автор Beer

Ответов: 2
Просмотров: 3247
Последний ответ 23.06.2021, 14:36:25
от Maffo
Настроить и так чтобы галерея была доступна только админу

Автор Garum

Ответов: 1
Просмотров: 2079
Последний ответ 22.05.2018, 12:11:40
от Beer
Как сделать поле "Автор" - ссылкой на его профиль?

Автор TRAFFIC

Ответов: 15
Просмотров: 4025
Последний ответ 21.01.2018, 19:06:08
от Trionika
[Решено] Удаление своих фотографий пользователями в JoomGallery 2.1.4

Автор Ariy84

Ответов: 2
Просмотров: 2357
Последний ответ 11.12.2016, 17:36:08
от anoorik
Сделать кнопку аплоуда в описании категории

Автор iluvvm

Ответов: 1
Просмотров: 1296
Последний ответ 27.05.2016, 21:31:22
от AdWeb