laravel开发包时如何使用指令

  1. 我写了一个针对laravel包,希望在这个包中提供一些预定义界面,然后在blade模板中使用@extend指令,发现不能正常加载包中的模板,我应该怎么做呢?

我有一个解决办法是,将这个页面发布出来,,然后在使用@extend的指令,但是如果不发布模板的话,页面找不到。

阅读 882
评论
    2 个回答

    首页你要在你的服务提供者内 TestProvider 声明模版路径及别名

    $this->loadViewsFrom (__DIR__ . '/../resources/views', 'MyAdmin(别名)');

    随后在使用view函数时

    你预定义的明别::模版名称

    就可以实现了

      提供一个ServiceProvider, 在里面这么写, 如下:

      // 假设你给自己的laravel模板空间命名为 myns
      
      $namespace = 'myns';
      $hints = '你的模板的目录';
      app('view')->addNamespace($namespace, $hints);
      
      // 在blade里面这么写
      view('myns::xxx');
      include('myns::yyy');
      extens('myns::zzz');

      如果不使用namespace, 那么如下

      app('view')->addLocation('你的模板的路径');
      
      // blade正常写就行. 因为这个路径比框架的标准路径优先级低, 会从标准路径中先找模板, 找不到才找包模板. 
        撰写回答

        登录后参与交流、获取后续更新提醒

        相似问题
        推荐文章