Изображения

Модуль работает с изображениями, прикрепленными к элементам других модулей. Модуль состоит из двух частей: подключаемая часть и работа модуля в административной части.

Подключение

Подключаемая часть – файл modules/images /images .inc.php. В нем описан класс Images _inc. В модуле к объекту класса можно обратиться через переменную $this->diafan->_images . Экземпляр класса создается при первом вызове переменной.

Как добавить прикрепленные изображения к модулю

В настройках модуля (modules/модуль/admin/модуль.admin.config.php) и в файле редактирования элементов модуля (modules/модуль/admin/модуль.admin.php) необходимо добавить параметр 'images':

Пример:

public $variables = array(
    
'main' => array(
        
'images' => 'module',
        

    
),
    

);

Размеры изображений

Список размеров изображений

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

Редактирование размера изображений

Варианты изображений имеют следующие свойства:

Основные:

  • Название – Название метода обработки изображений. Используется во всех модулях, где подключены изображения.
  • Папка – Название папки латинскими буквами без пробелов, куда будут загружаться обработанные изображения Для каждого модуля папка формируется отдельно.

    Пример:

    Создаем размер «Большой», папка big. В настройках модуля «Магазин» задаем этот вариант для полного изображения (тег large). Тогда увеличенное изображение товара будет сохраняться в папке userfiles/shop/big.
  • Качество – Качество сжатия файлов в формате JPEG (0 – минимальное, 100 – максимальное, 60-90 – рекомендуемое).
  • Методы обработки изображения – Набор действий, осуществляемых с изображением для формирование варианта изображения. Можно задать несколько действий. Действия выполняются в заданной последовательности.

    Можно определить следующие действия:

    • изменить пропорционально – пропорциональное уменьшение изображения. Если не отмечена опция «Уменьшение по меньшей стороне», то за основу берется минимальная пропорция, иначе максимальная;

    Пример:

    Необходимо, чтобы все изображения на сайте были одинакового размера: 300 на 100 пикселей. Нужно сначала пропорционально уменьшить изображение, затем обрезать по размеру 300х100. В этом случае следует отметить опцию «Уменьшение по меньшей стороне», чтобы уменьшенное изображение было больше пропорции 300х100.

    Необходимо, чтобы все изображения были одной высоты – 100 пикселей. Нужно применить действие «изменить пропорционально», не отмечая опцию «Уменьшение по меньшей стороне», размеры: 1000х100. Тогда минимальной пропорцией всегда будет пропорция по высоте.

    • выделить область – ручное выделение области обрезания, можно задать пропорции, при пакетной загрузки (например, при импорте товаров или при нажатии кнопки «Применить настройки ко всем ранее загруженным изображениям» действие не применяется;
    • обрезать – вырезает область изображения согласно указанным размерам и отступам;
    • обесцветить – переводит изображение в черно-белую цветовую гамму;
    • наложить водяной знак – накладывает изображение согласно указанным расположению и смещению.

Настройки

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

Использовать изображения – позволяет включить/отключить загрузку изображений.

Генерировать размеры изображений – размеры изображений, заданные в модуле «Изображения» и тег латинскими буквами для подключения изображения на сайте. Обязательно должны быть заданы два размера: превью изображения в списке (тег medium) и полное изображение (тег large). Параметр выводится, если отмечена опция «Использовать изображения».

Отображение изображений в списке – параметр принимает значения:

  • нет (отключает отображение изображений в списке);
  • показывать одно изображение;
  • показывать все изображения.

Использовать изображения для категорий – позволяет включить/отключить загрузку изображений к категориям.

Генерировать размеры изображений для категорий – размеры изображений, заданные в модуле «Изображения» и тег латинскими буквами для подключения изображения на сайте. Обязательно должны быть заданы два размера: превью изображения в списке категорий (тег medium) и полное изображение (тег large). Параметр выводится, если отмечена опция «Использовать изображения для категорий».

Отображение изображений в списке категорий – параметр принимает значения:

  • нет (отключает отображение изображений в списке);
  • показывать одно изображение;
  • показывать все изображения.

Применить настройки ко всем ранее загруженным изображениям – позволяет переконвертировать размер уже загруженных изображений. Кнопка необходима, если изменены настройки размеров изображений. Параметр выводится, если отмечена опция «Использовать изображения».

Использовать анимацию при увеличении изображений – параметр добавляет JavaScript код, позволяющий включить анимацию при увеличении изображений. Параметр выводится, если отмечена опция «Использовать изображения».

Максимальный размер загружаемых файлов – параметр показывает максимально допустимый размер загружаемых файлов, установленный в настройках хостинга. Параметр выводится, если отмечена опция «Использовать изображения».

База данных

{images} – Прикрепленные изображения

{images_editor_folders} – Папки изображений в плагине для визуального редактора

{images_variations} – Варианты загрузки изображений

Файлы

  1. modules/images/admin/images.admin.php – редактирование вариантов генерирования изображений;

  2. modules/images/admin/images.admin.action.php – обработка POST-запросов при работе с изображениями в административной части;

  3. modules/images/admin/images.admin.config.php – настройки модуля;

  4. modules/images/admin/images.admin.inc.php – подключение модуля к административной части других модулей;

  5. modules/images/admin/images.admin.view.php – шаблон вывода изображений в административной части;

  6. modules/images/admin/js/images.admin.config.js – настройки модуля, JS-сценарий;

  7. modules/images/admin/js/images.admin.inc.config.js – подключение модуля к настройкам других модулей, JS-сценарий;

  8. modules/images/admin/js/images.admin.inc.js – подключение модуля к административной части других модулей, JS-сценарий;

  9. modules/images/admin/js/images.admin.js – редактирование вариантов генерирования изображений, JS-сценарий;

  10. modules/images/images.editor.php – плагин для визуального редактора;

  11. modules/images/images.editor.css – плагин для визуального редактора, CSS;

  12. modules/images/images.inc.php – подключение для работы с прикрепленными изображениями;

  13. modules/images/images.install.php – установка модуля;

  14. modules/images/js/images.editor.js – плагин для визуального редактора, JS-сценарий.

Ваши комментарии и дополнения
31 января 2016 г.
У вас нигде не указано что что - бы добавить изображения к модулю надо не только их прописать в admin/example.admin.php и example.admin.config.php
но и в самой админке нужно навести порядок по адресу
/example/config/
Иначе изображения нельзя будет добавлять
=====================================================
Ещё вопрос можно как то сделать чтобы можно было добавлять только одно изображение к статье?
01 февраля 2016 г.
Чтобы загружать можно было только одно изображение, нужно добавить в example.admin.php:
Код
'images' => array(
'type' => 'module',
...
'count' => 1,
),

Как в модуле "Фотогалерея"
02 марта 2021 г. , редакция: 02 марта 2021 г.
Прописали в admin/bs.admin.php и bs.admin.config.php и в самой админке /bs/config/
Но соответствующие папки и сами фото не создаются при загрузке изображения через админку (обработка изображений для баннеров). Из-за чего может быть?
02 марта 2021 г.
Факт прописки адреса загрузки изображений в конфиге не приведет к созданию папки. Модуль лишь будет пытаться туда загрузить. Но сама папка создаётся либо в install модуля при его установке, либо вручную.
21 октября 2022 г.
Спасибо комментариям, стало понятно что добавления нижеследующего кода, мало:

Код
public $variables = array(
'main' => array(
'images' => 'module',

),

);


Пробовал добавить в admin/example.admin.php и example.admin.config.php, (точнее они там уже были т.к. это магазин), но это не помогло вывести загрузку images.

Можно ли получить более подробную инструкцию, типа:
1. сюда добавить такой-то код.
2. сюда добавить сякой-то код.
3. вот здесь создать такую-то директорию.
4. вот там-то прописать вот такой-то конфиг.
5. тут указать вот такую ссылку.
6. а вот здесь, закомментировать вот такую-то подсказку.
7. в базе сделать вот такую-то колонку.

и тогда, точнее только тогда, появится модуль загрузки изображений (при этом текстовые и т.п. поля подключаются без дополнительных хитрых манипуляций). Проблема я так понимаю именно в сложности подключения модуля. Как получить подробную инструкцию?
13 февраля 2024 г.
Подскажите, как можно добавлять дополнительные поля изображений?
Например стандартный служит для фото товаров. А дополнительное поле, за фоновое изображение страницы, а третье доп поле, допустим за какойнибудь специфический вывод. Что бы фотки не к одному полю все грузились, а была возможность как-то кастомизировать работу..
13 февраля 2024 г.
Цитата
Подскажите, как можно добавлять дополнительные поля изображений?
Например стандартный служит для фото товаров. А дополнительное поле, за фоновое изображение страницы, а третье доп поле, допустим за какойнибудь специфический вывод.

Такие задачи нужно решать не модулем изображений, а в рамках любого другого модуля, к которому изображения подключаются.
При подключении изображений создаются варианты
Код
public $variables = array(
'image1' => array(
'images' => 'module',

),
'image2' => array(
'images' => 'module',

),
'image3' => array(
'images' => 'module',

),

);
и далее они уже оформляются как нужно
14 февраля 2024 г. , редакция: 14 февраля 2024 г.
Виталий, действительно форма отправки фото добавилась на странице. Но пробелма осталась. Заливая фотку в любую форму, она видна во всех остальных.
https://disk.yandex.ru/i/EB9Pxz5BI2G36g
Те когда буду выводить фотки на странице, у меня опять будет весь список, который прикреплен к странице.
А мне по факту хочется получать доступ именно к фотке которая подгружена в конкретное поле.

Те нужно что-то на подобии этого https://www.diafan.ru/dokument/full-manual/examples/new-field/

Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.