Работа с миниатюрами (превьюшками) в CMS Drupal, Joomla, Wordpress: преимущества и недостатки

Миниатюра (превьюшка) — это изображение, которое привязывается к публикации и выступает её визиткой, а не частью наполнения самой статьи. Вот пример такого изображения - миниатюра.

Все настоящие версии упомянутых выше CMS позволяют загружать превьюшки для публикуемых статей, однако работа с ними в каждой CMS имеет свои ньюансы, как удобные, так и не удобные, а иногда даже раздражающие.

Всем приятно на странице видеть не только голые заголовки новостей, но и лицезреть иллюстрации, щёлкая по которым, мы попадаем на страницу самой новости. Вот о них-то и пойдёт речь ниже — как в какой CMS проходит работа с этими превьюшками.

Миниатюры в Wordpress – как избавиться от размножения (создания) лишних изображений при их загрузке в медиагаллерею и привязке к публикуемой статье

Wordpress позволяет загружать миниатюрки к публикациям (post), однако, в зависимости от Темы (шаблона) оформления сайта, в медиагаллерее вы получите сразу несколько изображений разного размера, предназначенные под нужды разных плагинов (популярные статьи, статьи по теме и т.п.), слайдера и т.п. То есть, загрузив одно изображение image.jpg размером 30 КБайт, Wordpress создаст сразу несколько (в зависимости от ТЕМЫ) изображений (на базе загруженного изображения) с именами image-100х100.jpg, image-150х150.jpg, image-250х250.jpg и т.д.

В итоге, часто, даже того не подозревая, Вы получаете, вместо одного изображения размером 30 КБайт, сразу несколько файлов общим размером 100-200 КБайт. Хотя, всё это можно было бы решить банальным уменьшением (масштабированием) уже существующего image.jpg до нужного размера в той или иной ситуации и дать вэб-мастеру возможность сохранить место и деньги на хостинге. А если вы решите поменять тему? То что? Переделывать сотни изображений под нужды нового шаблона? Возможно есть, конечно, плагины, помогающие это сделать, но если их нет, то можно написать. Но зачем всё это, если можно сделать всё сразу по-людски!

Каждый шаблон (Тема) имеет свои настройки и размеры изображений, которые шаблон использует в своей работе

Чтобы проверить какой размер для вашего шаблона есть минимальным (или максимальным), просто загрузите большое изображение (например, с размером 1200х1200 пкс) и в папке "/wp-content/uploads/ваша_папка_для_изображений" вы увидите нарезанные изображения с указанием размеров в имени файла. В моей теме это был файл "img-300x210.jpg", созданный из загруженного мной img.jpg.

Зная минимальный размер, используемый темой, вы в дальнейшем просто не загружайте изображения размером больше, чем 300х210, как в моём случае, и сразу же сделайте некоторые обрезания функционала Wordpress (см.ниже).

Полагаю, что для миниатюры слишком большое изображение и не нужно. Я использую картинки размером 200х137 (соотношение 3:2). Если же вы используете сложные темы с кучей слайдов и виджетов, которым просто необходима большая качественная картинка, тогда вам либо придётся пилить самому код, либо смириться с ситуацией, либо искать Тему, в которой бы вы нашли компромис.

Что же нужно сделать для того, чтобы ВОРДПРЕСС не нарезал лишних изображений и не засорял ваше место на хостинге

1) В Wordpress нужно в настройках "Параметры-Медиафайлы" убрать флажок "Обрезать миниатюру......", поставить везде нули.
Медиаменеджер в Wordpress

2) В файле functions.php данной Темы закомментировать строки, содержащие функцию обрезания (add_image_size), однако внешний вид не каждой Темы при этом сохранится удобным для просмотра, потому не перестарайтесь и ищите золотую серединку.

Вот пример кода в файле functions.php моей Темы ’ThemeAlley’, который нужно закомментировать (ищите у себя в своей Теме):

 // This theme uses post thumbnails    
add_theme_support( ''post-thumbnails'' );
// add_image_size( ''ThemeAlley'', 230, 140, true );
// add_image_size( ''ThemeAlleyslider'', 940, 350, true );
// add_image_size( ''ThemeAlleypiecemaker'', 940, 375, true );
// add_image_size( ''ThemeAlleybotique'', 650, 350, true );
// add_image_size( ''ThemeAlleyminiscroll'', 120, 90, true );
// add_image_size( ''ThemeAlleymagprorecent'', 247, 134, true );
// add_image_size( ''ThemeAlleyanything'', 300, 200, true );
// add_image_size( ''ThemeAlleyrelated'', 160, 135, true );
// add_image_size( ''ThemeAlleymaglite'', 270, 134, true );
// add_image_size( ''ThemeAlleysidebartabsmall'', 120, 90, true );
// add_image_size( ''ThemeAlleysidebartabbig'', 270, 170, true );
// add_image_size( ''ThemeAlleyvidbot'', 620, 349, true );
// add_image_size( ''ThemeAlleyken'', 1000, 500, true );
// add_image_size( ''ThemeAlleykenthumb'', 120, 70, true );
// add_image_size( ''ThemeAlleyvidthumb'', 240, 180, true );
// add_image_size( ''ThemeAlleythumb'', 450, 300, true );
// add_image_size( ''ThemeAlleysliderbig'', 1200, 400, true );
// add_image_size( ''ThemeAlleysliderkit'', 1200, 420, true );
// add_image_size( ''ThemeAlleyslicebox'', 1200, 500, true );
Как видите, в моей теме таких нарезок имеется херова куча. И прошу заметить, что строку add_theme_support( ''post-thumbnails'' ); нужно оставить незакомментированной, иначе у вас исчезнет виджет добавления миниатюр при написании статьи! (см.картинки ниже):
поля add_image-size в Wordpress, которые нужно закомментировать Выбор миниатюры в Wordpress

И так, после выполнения всех перечисленных мной действий, у вас в итоге должны быть 1) установлены нули в настройках ширины и высоты изображений, 2) снят флажок "Обрезать миниатюру..." (там же) и 3) закомментированы строки add_image_size в файле functions.php. При этом размер загружаемого вами в дальнейшем изображения не должен превышать минимальный для вашей Темы размер (у каждой Темы он свой), который вы определили ранее.

Теперь, при загрузке изображения в медиагалерею, у вас не будут создавать новые ненужные вам изображения. Всё это проверено на одной стандартной теме Вордпресса и одной платной теме, Wordpress 4.2.2. У меня работает. :) Нужно это вам или нет — решайте сами. Но меня достало то, что Wordpress из изображения размером 200х137 нарезает кучую лишних картинок размером 300х150, 300х200, 1200х500 и т.д.

Для примера я только что загрузил изображение размером 580px ? 389px и никаких лишних изображений не создалось и шаблон страниц не ломался. Ура!

Drupal 7

Drupal позволяет всё то же и тоже создаёт один уменьшенный дубликать image-100х100.jpg (имя файла — условное!) по аналогии с Wordpress. Я не понимаю ход высокой мысли создателей сих двух CMS, однако исправить ничего не могу. Видимо, решили сэкономить мощности сервера провайдера за счёт клиента.

Drupal  — это CMS не для дилетантов. Здесь ты либо станешь специалистом, либо нехрен туда соваться. Не один месяц упорной работы в Drupal нужен, чтобы хоть как-то уверенно чувствовать себя в ней. Я решил не соваться, так как мои требования к CMS вполне удовлетворяет Joomla, потому я не стану много писать о CMS/CMF Drupal.

Joomla 2.5 и 3.х

В данной CMS возможность загружать миниатюры появилась только с версии Joomla 2.5, т.к. Joomla 1.5 не позволяла прикреплять миниатюру (превьюшку) к статье и в качестве таковой приходится в самом начале каждой статьи вручную вставлять изображение строго одинакового размера, чтобы не ламать шаблон всего сайта. В версии Joomla 2.5 этот просчёт устранён. В Joomla 2.5 этот пункт в редакторе статьи выглядит так:

В Joomla 2.5 этот пункт в редакторе статьи выглядит так

В версии Joomla 3.x этот пункт выглядит так:

В версии Joomla 3.x пункт миниатюр выглядит так

В качестве изображения для анонса и для статьи можно и нужно указать одно изображение и оно будет масштабироваться в зависимости от ситуации. У меня, по крайней мере, именно так и происходит в Joomla 3.