【发布时间】:2020-01-23 16:04:50
【问题描述】:
我已经创建了一个私有核心 CMS 包,并且正在创建子包以根据需要添加其他功能。
所以在核心 CMS 包中,我有一个视图:
<ul class="nav">
@stack('navigation')
</ul>
还有另一个带有核心导航项的视图:
@push('navigation')
<li class="nav-item">
<a class="nav-link" href="{{route('admin.pages.index')}}"><i class="fa fa-book"></i>
Pages</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{route('admin.news.index')}}"><i class="fa fa-newspaper"></i>
News</a>
</li>
@endpush
所以我想做的(如果可能的话)是从另一个包添加到@stack。例如:
@push('navigation')
<li class="nav-item">
<a class="nav-link" href="{{route('admin.events.index')}}"><i class="fa fa-calendar-day"></i>
Events</a>
</li>
@endpush
这并没有像我猜测的那样工作,$this->loadViewsFrom(__DIR__ . '/views', 'cms'); 可能没有使用相同的命名空间进行处理和运行。有没有办法做到这一点?我考虑过将所有导航项添加到数据库表中,然后将种子添加到包和安装命令中,但我认为这将是一种更优雅的方式。
谢谢
【问题讨论】:
标签: php laravel laravel-5 laravel-blade