Скромный источник:
https://dzen-code.ru/octber-cms-builder-fiileuploader/
Когда я делал поля как обычно используя Page Builder, я наткнулся на ошибку: Model ‘Webfamily\Content\Models\Brands’ does not contain a definition for ‘image’.
Спросил в чате, оказалось, что добавления поля картинки не столь очевидно как хотелось бы.
Наше значение не указывается в таблице как поле.
Допустим моя задача сделать галлерею. Таблица состоит из Id и Image. Image не указываем в таблице. Мы идем в нашу модель, в моем случае это Brands.php и прописываем поле image через attachOne (или attachMany).
public $table = 'webfamily_content_brands';
/**
* @var array Validation rules
*/
public $rules = [
'image' => 'required',
];
public $attributeNames = [
'image' => 'Картинка',
];
public $attachOne = [
'image' => 'System\Models\File'
];
Соответсвенно в form.yml указываем наше поле из модели.
Ну и чтобы картинка отображался в на странице Контроллера прописываем image. Значение поля я ставлю partial и путь указываю $/webfamily/content/partials/_image3.htm.
Код паршила
<?php if($value): ?>
<img src="<?php echo $value->path; ?>" style="max-width: 300px; max-height: 150px;">
<?php endif; ?>
И соответсвенно получаю результат.