Laravel - Пакет расширения макета из родительского проекта - PullRequest
0 голосов
/ 28 января 2020

Я недавно сделал пакет, который имеет маршрут по умолчанию, контроллер и представление. Я загрузил пакет в packagist и потребовал его, используя composer require package/name, и все работает нормально. Однако я хочу, чтобы представление в пакете использовало макет, заданный в родительском проекте.

Основной проект

В моем основном проекте есть файл макета в resources/views/layouts/layouts/backend.blade.php и я хочу, чтобы пакет расширил указанный макет c. Это возможно?

Пакет

Контроллер

 public function index()
 {
   return view('visitors::home');
 }

Маршрут

Route::get('dashboard/visitors', '\Rainieren\Visitors\Http\Controllers\VisitorController@index')->name('visitors');

Просмотр


<h1>Visitors page</h1>

Я пытался сделать @extend('layouts.layouts.backend'), но, к сожалению, это не работает. Как я могу справиться с этим?

1 Ответ

2 голосов
/ 29 января 2020

РЕДАКТИРОВАТЬ

Вы можете взглянуть на сторону представлений публикации.
После публикации они будут находиться в 'resources / views / vendor / packageName'.
И ваше представление будет иметь доступ к папке 'resources / views'.

Пример из (https://laravel.com/docs/6.x/packages#views)

/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    $this->loadViewsFrom(__DIR__.'/path/to/views', 'courier');

    $this->publishes([
        __DIR__.'/path/to/views' => resource_path('views/vendor/courier'),
    ]);
}
php artisan vendor:publish
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...