php - 将 Blade 片段从一个 Laravel 包推送到另一个“父”包
问题描述
我已经创建了一个私有核心 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');
可能没有使用相同的命名空间进行处理和运行。有没有办法做到这一点?我考虑过将所有导航项添加到数据库表中,然后将种子添加到包和安装命令中,但我认为这将是一种更优雅的方式。
谢谢
解决方案
我最终创建了一个表格来处理管理导航。
核心 CMS 实现了初始导航,然后我在包上创建了一个安装命令,根据需要添加到导航表中:)
推荐阅读
- r - 如何制作具有 FASTA 格式参数的 R 函数
- java - 如何将内部对象从 Hibernate Entity 复制到 DTO?
- ionic-framework - 离子 3 - Yelp API
- sql-server - EXECUTE sp_executesql 在 SQL Server 中不起作用
- node.js - 自适应卡片中的按钮对齐
- python - 在我分发我的 Django/Django-Rest-Framework 项目后,我无法请求它的 `media` 和 `static` 目录
- git - Git 将推送的更改恢复为先前的提交
- python - python中的对象和类型有什么区别
- laravel - 覆盖 Laravel 的有效负载异常
- domain-driven-design - 尚未发生的事情的领域事件命名