Вот примеры расширения некоторых моделей потоков.

ановилPyroCMS и расширяю его, чтобы превратить его в систему управления обучением (LMS), где только зарегистрированные пользователи могут просматривать страницы, и страницы также становятся видимыми только через переменное число дней после того, как пользователь записался на курс.

(То есть, урок 1 модуля 1 может быть разблокирован и виден сразу, но урок 2 можно настроить так, чтобы он был скрыт до 1 дня спустя, а урок 3 может стать видимым через X дней и т. Д.)

Как я этого добился, написав пакет Laravel с этой миграцией:

Schema::table('pages_pages', function (Blueprint $table) {
    $table->string('drip_delay')->nullable()->after('str_id');
});

Затем я создалDrippablePagesServiceProvider класс с этим вboot() функция:

$this->app->bind('Anomaly\PagesModule\Http\Controller\PagesController', 'me\DrippablePages\PagesController'); //https://laravel.com/docs/5.6/container#binding     

Я разработал свой заказPagesController чтобы показать специальное представление всякий раз, когда вошедший в систему пользователь пытается получить доступ к странице слишком рано. Эта функциональность работает совершенно нормально.

Но вместо редактированияdrip_delay поле непосредственно в базе данных, как я делал, я предпочел бы иметь возможность редактировать прямо рядом с другими полями в / admin / pages / edit / 4 URL.

Я уверен, что мне нужно переопределить различные частиPagesModule, например, PageEntryFormSections (доктор). И я думаю, что у меня это работает.

Но когда мы переходим к Xdebug, я вижу, что PageModel, на который смотрятэта линия (через внедрение зависимостей? †) вedit() вHttp\Controller\Admin\PagesController до сих пор не показывает мой новыйdrip_delay поле.

Как я могу переопределить PageModel или сделать все, что мне нужно, чтобы он отображалdrip_delay поле в этом представлении панели администратора?

† Ларавел рассказывает оконтейнер а такжеконтроллеры подразумевать это.

Ответы на вопрос(1)

Ваш ответ на вопрос