Создание дополнительных миниатюр

Для быстрой загрузки картинок через плагины типа colorbox можно использовать миниатюры дополнительного размера

Предложения по созданию модов на бесплатной основе и переводам уже имеющихся модов на русский язык. Если вы хотите какой-нибудь мод, но не хватает знаний, чтобы его создать - напишите в этот раздел. Кто-то из заинтересованных программистов может взяться за вашу идею.
Nick
Сообщения: 2
Зарегистрирован: 24.09.13 12:11
Откуда: СПб
Контактная информация:

Создание дополнительных миниатюр

Сообщение Nick »

Давно висит проблема с большими файлами. Хочется сделать два типа миниатюр -
1. маленькая для отображения в теме скажем 300х300
2. большая, для отображения в colorbox 1280х960
3. и при этом оставить оригинал файла, чтобы при желании можно было подробнее фото рассмотреть.

Как бы сделать такой мод, который создавал бы несколько размеров миниатюр?

Основное преимущество, в colorbox картинки будут гораздо быстрее загружаться.
Shredder
Администратор
Сообщения: 1067
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

Создание дополнительных миниатюр

Сообщение Shredder »

Если чисто навскидку, (вариант с админкой), то:
1) Добавляем в админку в настройки вложений опцию "Размер миниатюр для colorbox"
2) Добавляем в таблицу phpbb_attachments поле colorbox_thumbnail - по аналогии с просто thumbnail
3) Дублируем функцию create_thumbnail (по-моему, так называется), это родная функция движка, переименовываем её в (например) create_colorbox_thumbnail и прописываем внутри все необходимые параметры по аналогии со старыми. Само собой, старая функция create_thumbnail останется на своём месте, т.е. мы просто создадим на её основе новую, прописав туда свои параметры.
Храним файлы с префиксом colorbox_thumb_
4) Вызываем функцию create_colorbox_thumbnail, где нам нужно.

Как-то так.
Опять же - это навскидку. Что там будет на самом деле - нужно смотреть уже в самом коде.

Добавлено спустя 4 часа 57 минут 44 секунды:
Сделал мод, инструкция во вложении.
Кстати, в каком формате предполагается вывод миниатюр? Через шаблоны или через ссылку вида:

Код: Выделить всё

/download/file.php?id=15&t=1
?
Для среднего размера миниатюр это будет:

Код: Выделить всё

/download/file.php?id=15&mt=1
- то есть, вместо параметра t будет mt

В зависимости от этого вопроса - через шаблоны выводится или через ссылку - изменяются и правки для файлов, для шаблонов их будет чуть больше. Могу предположить, что для colorbox будет вывод через прямую ссылку, хотя не сталкивался с ним никогда и не знаю специфики его работы
В общем, в инструкции описаны оба варианта:
medium_thumbnails.zip
(2.28 КБ) 1328 скачиваний
medium_thumbnails.zip
(2.28 КБ) 1328 скачиваний
В админке рядом с настройками для миниатюр появится пара настроек для среднего размера миниатюр.
Средняя миниатюра выводится через ссылку: /download/file.php?id=15&mt=1 (параметр mt). Или, при внесении дополнительных правок - через переменную MID_THUMB_IMAGE в шаблоне attachment.html
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Nick
Сообщения: 2
Зарегистрирован: 24.09.13 12:11
Откуда: СПб
Контактная информация:

Создание дополнительных миниатюр

Сообщение Nick »

Ого! Так быстро! Круто!

Скорее всего будет делаться шаблонами.

В кратце colorbox работает следующим образом, меняет все ссылки вида:
<a href="исходная картинка" rel="colorbox"><img src="миниатюра"></a>
на свой скрипт. Точнее добавляет к a свой onclick и т.д.

Я устанавливал colorbox вот так:
Прикрутить ColorBox
В темплейте надо будет подправить только пару строк.

Добавлено спустя 16 часов 3 минуты 48 секунд:
Проверил, вроде бы всё работает. Потребовалось создать миниатюры с новым размером для всех старых картинок. Мода готового не нашел, поэтому сделал так

select physical_filename from phpbb_attachments where thumbnail=1 into outfile "/tmp/3";

потом в gedit отредактировал файл по регулярному выражению :
(.*)

convert \1 -resize 1200x900\> mid_thumb_\1 \necho "\1"

и потом запустил на сервере
sh ./3

начало делать... 14000 файлов однако :)...

ну и сделал
update phpbb_attachments set mid_thumbnail=1 where thumbnail=1


Ещё вот такую штуку добавил в functions_content:
find

Код: Выделить всё

						'S_THUMBNAIL'		=> true,
add after

Код: Выделить всё

						'S_MID_THUMBNAIL'	=> $attachment['mid_thumbnail'] == 1,
и потом использую ее в шаблоне:

Код: Выделить всё

			<!-- IF _file.S_MID_THUMBNAIL -->
				<dt><a class="colorbox" href="{_file.U_DOWNLOAD_LINK}&mt=1"><img src="{_file.THUMB_IMAGE}" alt="{_file.DOWNLOAD_NAME}" title="{_file.DOWNLOAD_NAME} ({_file.FILESIZE} {_file.SIZE_LANG}) {_file.L_DOWNLOAD_COUNT}" /></a></dt>
			<!-- ELSE --> 			
				<dt><a class="colorbox" href="{_file.U_DOWNLOAD_LINK}"><img src="{_file.THUMB_IMAGE}" alt="{_file.DOWNLOAD_NAME}" title="{_file.DOWNLOAD_NAME} ({_file.FILESIZE} {_file.SIZE_LANG}) {_file.L_DOWNLOAD_COUNT}" /></a></dt>
			<!-- ENDIF -->
Спасибо большое за труды... :roll:
Аватара пользователя
Predator
Сообщения: 109
Зарегистрирован: 06.11.15 13:59
Благодарил (а): 11 раз
Поблагодарили: 7 раз
Контактная информация:

Создание дополнительных миниатюр

Сообщение Predator »

Shredder
Приветствую!
Случайно для phpBB 3.1 не делали подобного расширения? Очень бы пригодилось.
Shredder
Администратор
Сообщения: 1067
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

Создание дополнительных миниатюр

Сообщение Shredder »

Predator
Нет и не предвидится, т.к. там скорее всего нужных событий нет.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Аватара пользователя
Predator
Сообщения: 109
Зарегистрирован: 06.11.15 13:59
Благодарил (а): 11 раз
Поблагодарили: 7 раз
Контактная информация:

Создание дополнительных миниатюр

Сообщение Predator »

Shredder писал(а):т.к. там скорее всего нужных событий нет
А, какие именно нужны события? Я собственно и расширением интересуюсь по просьбе Nick'a, что в топике просил тебя сделать МОД.
PS: Тебя на phpbbguru забанили чтоли?
Shredder
Администратор
Сообщения: 1067
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

Создание дополнительных миниатюр

Сообщение Shredder »

Predator писал(а):А, какие именно нужны события?
Как минимум:

1) Для правок внутри функции delete_attachments(
2) Внутри функции parse_attachments( в message_parser.php
3) Возможно, для includes/functions_content.php, но не углублялся, и вероятно, этот пункт можно обойти.
Predator писал(а):PS: Тебя на phpbbguru забанили чтоли?
Давно уже и навечно. Я ж о вреде алкоголя написал, это страшное преступление.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Аватара пользователя
Predator
Сообщения: 109
Зарегистрирован: 06.11.15 13:59
Благодарил (а): 11 раз
Поблагодарили: 7 раз
Контактная информация:

Создание дополнительных миниатюр

Сообщение Predator »

Shredder писал(а):Я ж о вреде алкоголя написал, это страшное преступление.
Странная политика партии на гуру :)
Смотрю, там много кого «давно и на вечно» отправили.
Shredder
Администратор
Сообщения: 1067
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

Создание дополнительных миниатюр

Сообщение Shredder »

Это не политика, просто больные люди отыгрываются на всех остальных за свои комплексы и неудачи. Юзеров при каждом удобном случае унижают и окунают "лицом в говно". В последний год началось серьёзное обострение: их главадмин на почве неудач в личной жизни удалил сайт, поливая матом его участников. "Ребёночка" уговорили восстановить ресурс (вероятно, он этого и ждал), а после возвращения забанили всех, кто высказался против (чего именно - не имеет для них значения). Некоторых убрали и просто так, как участника с ником Xisp - его забанили без каких-либо причин, с пометкой "идиот". На прощание по традиции полили отборными оскорблениями и матом.
Бан в этом гадюшнике - можно сказать, подарок. :D Некоторые мои клиенты и знакомые ушли оттуда добровольно, по причине неадекватности администрации.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Аватара пользователя
Predator
Сообщения: 109
Зарегистрирован: 06.11.15 13:59
Благодарил (а): 11 раз
Поблагодарили: 7 раз
Контактная информация:

Создание дополнительных миниатюр

Сообщение Predator »

Shredder писал(а):Юзеров при каждом удобном случае унижают и окунают "лицом в говно".
Это я тоже там заметил, к сожалению.
Shredder писал(а):их главадмин на почве неудач в личной жизни удалил сайт
А, кто у них глав, rxu или тот, что с лошадью на аватаре?
Shredder писал(а):Некоторых убрали и просто так, как участника с ником Xisp - его забанили без каких-либо причин, с пометкой "идиот".
Заметил, что его нет, как и многих, кто хоть что-нибудь делал, очень жаль.
Shredder писал(а):Бан в этом гадюшнике - можно сказать, подарок.
Меня тоже банили пару раз, причём без видимых причин, а так сказать «по-щучьему велению» какого-нибудь модератора, один раз за то, что попросил помочь с одним модом, не дождавшись ответа, написал в теме: спасибо за помощь, за что и получил бан на пару месяцев. :)
Shredder
Администратор
Сообщения: 1067
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

Создание дополнительных миниатюр

Сообщение Shredder »

Predator писал(а):А, кто у них глав, rxu или тот, что с лошадью на аватаре?
С лошадью.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Ответить