【问题标题】:Push Blade snippets to the stack from one Laravel package to another 'parent' package将 Blade 片段从一个 Laravel 包推送到另一个“父”包
【发布时间】: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-&gt;loadViewsFrom(__DIR__ . '/views', 'cms'); 可能没有使用相同的命名空间进行处理和运行。有没有办法做到这一点?我考虑过将所有导航项添加到数据库表中,然后将种子添加到包和安装命令中,但我认为这将是一种更优雅的方式。

谢谢

【问题讨论】:

    标签: php laravel laravel-5 laravel-blade


    【解决方案1】:

    我最终创建了一个表格来处理管理导航。

    核心 CMS 实现了初始导航,然后我在包上创建了一个安装命令,根据需要添加到导航表中:)

    【讨论】:

      猜你喜欢
      • 2015-12-02
      • 1970-01-01
      • 1970-01-01
      • 2013-10-18
      • 1970-01-01
      • 2016-05-05
      • 1970-01-01
      • 2016-04-07
      • 2016-09-30
      相关资源
      最近更新 更多