Как я могу создать пользовательское поле формы voyager из пакета?

Я пытаюсь создать пакет компоновщика репозитория для создания пользовательского поля формы для Voyager, и я нашел этот пример: https://github.com/bnku/extended-bread-form-fields, но у меня это не работает.

Итак, как мне создать форму пользовательского поля для Voyager? Результат будет таким:

Пример

Я попробовал этот пример репозитория.

https://github.com/bnku/extended-bread-form-fields (мне не помогло)

и это мой тест репозитория:

https://github.com/manuel90/crop-image-field

Это мой composer.json моего пакета:

{
    "name": "manuel90/crop-image-field",
    "description": "New voyager form field to cut image when uploading",
    "authors": [
        {
            "name": "Manuel",
            "email": "[email protected]"
        }
    ],
    "require": {
        "tcg/voyager": "^1.1"
    },
    "autoload": {
        "psr-4": {
            "Manuel90\\CropImageField\\": "src/"
        }
    },
    "extra": {
        "laravel": {
            "providers": [
                "Manuel90\\CropImageField\\CropImageFieldServiceProvider"
            ]
        }
    }
}

Я вижу эти строки, есть проблема, он не обнаружил класс "Вояджер", но я не знаю, как это исправить:


if( class_exists('Voyager') ) {
    Voyager::addFormField(CropImageFormField::class);
}

https://github.com/manuel90/crop-image-field/blob/master/src/CropImageFieldServiceProvider.php#L34-L36 (Согласно документам, это способ добавить пользовательскую форму Документы здесь )

Я ожидаю увидеть в разделе редактирования BREAD новое настраиваемое поле, указанное в опции типа ввода, например:

введите здесь описание изображения


person Manuel    schedule 04.07.2019    source источник


Ответы (1)


Вам нужно переместить вызов Voyager::addFormField в метод boot(), так как это считается частью " функциональности", который следует вызывать после правильной регистрации поставщиков услуг voyager.

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

person jacmkno    schedule 16.10.2019