Добавить поле загрузки файла в бэкэнд OctoberCMS с помощью $ widget-> gt; addFields?

Попытка добавить поле формы с типом fileupload и режим image на определенную страницу с помощью плагина в бэкэнде OctoberCMS, но с ошибкой. Текст, выпадающий и т. Д. Типы работают нормально.

Когда я устанавливаю имя поля в viewBag[photo] Я получаю ошибку "Call to a member function hasRelation() on array" on line 81 of [path]/public/modules/backend/traits/FormModelWidget.php",

И когда я установил имя просто photo я получил "Call to undefined method October\Rain\Halcyon\Builder::hasRelation()" on line 786 of [path]/public/vendor/october/rain/src/Halcyon/Builder.php",

use System\Classes\PluginBase;
use Event;

class Plugin extends PluginBase
{
public function boot()
{
Event::listen('backend.form.extendFields', function($widget) {

if (! $widget->getController() instanceof \RainLab\Pages\Controllers\Index) {
return;
}

if (! $widget->model instanceof \RainLab\Pages\Classes\Page) {
return;
}

switch ($widget->model->fileName) {
case 'about.htm':
$widget->addFields([
'viewBag[photo]' => [
'label' => 'Photo',
'mode' => 'image',
'imageWidth' => '200',
'imageHeight' => '300',
'useCaption' => true,
'thumbOptions' => [
'mode' => 'crop',
'extension' => 'auto',
],
'span' => 'auto',
'type' => 'fileupload',
],
], 'primary');
break;
}

});
}
}

0

Решение

fileupload тип не может быть добавлен на статическую страницу через addFields в данный момент. mediafinder тип должен быть использован для загрузки изображений.

$widget->addFields([
'viewBag[photo]' => [
'label' => 'Photo',
'mode' => 'image',
'imageWidth' => '200',
'imageHeight' => '300',
'useCaption' => true,
'thumbOptions' => [
'mode' => 'crop',
'extension' => 'auto',
],
'span' => 'auto',
'type' => 'mediafinder',
],
], 'primary');
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]