首页 > 解决方案 > 在不同目录的另一个刀片中预览刀片

问题描述

我有一个 laravel 应用程序,它为客户和管理员提供单独的资源。在应用程序内部,在管理方面,我有用于控制前(客户)页面上某些组件的可见性的复选框。现在,除了可见性之外,我还有一些额外的参数要显示。所以,为了立即验证更改,我想front.blade.php在里面预览(不包括) admin.blade.php

我现在唯一的想法是使用<iframe>,但我希望找到一种叫做“laravel 方式”的东西。

我的项目结构:

resources
|-- admin
|    |-- views
|        |-- layouts
|            |-- website
|               `-- front.blade.php
|
|-- front
|    |-- views
|        |-- layouts
|            |-- website
|               `-- admin.blade.php

admin.blade.php

@section('section','Website')
@section('title','Home')
@extends('layouts.main')
@section('style')
    <link href="{{ admin_asset('assets/admin/css/main.css') }}" rel="stylesheet" type="text/css" />
@endsection

@section('content')
    <div class="contentbar">
        <div class="row">
            <div class="col-6">
                <div class="card">
                    <div class="card-header">Header</div>

                    <div class="card-body">
                        @include('website.front') <--- include doesn't work. It just brakes the whole view
                    </div>

                    <div class="card-footer">Footer</div>
                </div>
            </div>
        </div>
    </div>
@endsection
@section('script')
    <script src="{{ admin_asset('assets/admin/js/main.min.js') }}"></script>
@endsection

配置/view.php

'paths' => [
        resource_path('front/views'),
        resource_path('admin/views'),
    ],

标签: laravellaravel-blade

解决方案


我不知道您为什么更改默认resource\views路径并将所有有组织的视图文件夹包含在其中,如下所示:

    resources
|-- views
|    |-- admin
|        |-- layouts
|            |-- website
|               `-- front.blade.php
|
|    |-- front
|        |-- layouts
|            |-- website
|               `-- admin.blade.php

但是如果你想保持你的结构,那么你必须进行这些更改才能使其正常工作:

配置/view.php

'paths' => [
    resource_path('views'),
],

在您的刀片中,您可以执行以下操作:

@include(resource_path('admin\views\layouts\website\front.blade.php'))

推荐阅读