Приветствую! Спасибо за отличный мануал. До этого решения (на чём и остановлюсь) использовал Builder. Имею дополнения в рамках инструкции: добавление изображения/изображений, вывод изображения в списке записей.
- Правим модель элемента (Item)
public $attachOne = [
'preview' => 'System\Models\File'
];
// Attach many image
public $attachMany = [
'gallery' => 'System\Models\File'
];
- Дополняем columns.yaml
preview:
label: Превью
type: partial
path: ~/plugins/AUTHOR/PLUGIN/models/item/_content_column.htm
sortable: false
- Пишем фрагмент _content_column.htm и кладём его в /plugins/AUTHOR/PLUGIN/models/item/
<?php if ($value != '') : ?>
<img src="<?= $value->getThumb(50, 50, 'crop')?>" alt="<?= $value->title ?>" />
<?php else : ?>
<img src="https://via.placeholder.com/50.png/09f/fff?text=No+image" />
<?php endif ?>
А вот при таком варианте, при отсутствующем изображении, вы получите ошибку в списке записей
<img src="<?= $value->getThumb(50, 50, 'crop')?>" alt="<?= $value->title ?>">
- Выводим загрузку изображений в админке, дополняем /plugins/AUTHOR/PLUGIN/models/item/fields.yaml
preview:
label: 'Превью'
mode: image
imageWidth: '100'
imageHeight: '100'
useCaption: true
thumbOptions:
mode: crop
extension: auto
span: left
type: fileupload
gallery:
label: Галерея
mode: image
imageWidth: '100'
imageHeight: '100'
useCaption: true
thumbOptions:
mode: crop
extension: auto
span: auto
type: fileupload
Вроде ничего не забыл. Аналогично можно добавить превью к категории