当前位置: 首页 > 知识库问答 >
问题:

拉威尔刀片模板@extends

贺雅健
2023-03-14

在我的观点中,我扩展了一个默认刀片模板,它充当我的主模板。我有一个ViewComposer设置,它为这个模板提供了许多变量。

我遇到了一种情况,需要在索引中访问这些变量之一。刀身php是启动@extends函数的页面。

通过ViewComposer传递的变量是否达到初始视图的范围?或者我需要创建另一个ViewComposer来传递相同的变量。

<?php

namespace App\Http\ViewComposers;

use Illuminate\View\View;
use Illuminate\Http\Request;
use App\Repositories\UserRepository;
use Sentinel;
use App\ProjectUsers;

class MasterComposer
{
    /**
     * The user repository implementation.
     *
     * @var UserRepository
     */
    protected $users;
    private $request;

    /**
     * Create a new profile composer.
     *
     * @param  UserRepository  $users
     * @return void
     */
    public function __construct(Request $request)
    {

        $this->request = $request;
        // Dependencies automatically resolved by service container...
        $uid = Sentinel::getUser()->id;
        $this->users = ProjectUsers::where("user_id", '=', $uid)->get();
    }

    /**
     * Bind data to the view.
     *
     * @param  View  $view
     * @return void
     */
    public function compose(View $view)
    {
        $view->with('projects', $this->users);
        $view->with('activeProject', $this->request->session()->get("activeProject"));
    }
}
<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class ComposerServiceProvider extends ServiceProvider {
    /**
     * Register bindings in the container.
     *
     * @return void
     */
    public function boot() {
        // Using class based composers...
        view ()->composer ( 'admin/layouts/default', 'App\Http\ViewComposers\MasterComposer' );
    }

    /**
     * Register the service provider.
     *
     * @return void
     */
    public function register() {
        //
    }
}
@extends('admin/layouts/default')
{{ $activeProject }}

这最终给了我一个未定义的变量错误。

Undefined variable: activeProject (View: /home/laravel/public_html/base/resources/views/admin/index.blade.php)

共有2个答案

宇文梓
2023-03-14

由于您在内容布局中使用@扩展,您可以使用此

@extends('admin/layouts/default',['activeProject'=

如果这不起作用,你可能需要通过你的控制器

闻人鸿文
2023-03-14

是的,主布局中可用的所有变量都将传递给它的任何子布局。

 类似资料:
  • 我使用Laravel 5.1,逻辑是:用户上传图像。它不在公共目录中,而是在存储目录中(因为我读到存储目录是私有的)。我想把图像的路径放在src="属性中,但没有找到图像。我尝试过: 但是没有成功。。。为什么找不到图片?

  • 我目前正在研究构建SaaS构建管理工具。我想知道的是,如果我使用laravel passport作为api令牌,我如何为用户分配角色,例如: SuperAdmin:可以创建项目|可以创建新用户并为用户分配角色。 管理员:可以查看项目。 因为我希望能够根据用户权限隐藏前端上的元素。 例如,如果我使用传统的laravel应用程序,我可以使用委托和刀片指令@role('admin')来显示基于用户权限类

  • 我对拉威尔望远镜的部分有点困惑。 我有一个用户模型和表。 如何为用户分配用户、客户和/或管理员的角色。 我有一个带有vue和laravel api后端的水疗中心。我用https://laravel.com/docs/5.3/passport#consuming-使用javascript创建api 我如何分配哪个用户模型具有哪些作用域? 还是范围与角色不同? 您将如何实现这一点? 提前谢谢!

  • 我对Laravel截断的数据有一个小问题。我将传递给我的后端值,该值可以是表中定义的“百分比”或“金额”,但在表中也可以为null,但每次尝试将其设置为null时,都会出现如下错误: {"discount_currency":["您输入的值无效。"]} 或者当我从处理请求中删除enum时,它会说 所以我传递数据抛出API从我的Vue,这个婴儿车的请求看起来像: 所以如果我删除...我有第二个错误。

  • 我正在构建一个Laravel web应用程序,其中我需要一个动态图像库,我构建了一个后端管理面板,可以在其中添加图像,我成功地将图像添加并保存到数据库中,但我无法编辑或删除它们。 错误是: UrlGenerationException中的ErrorException。php第17行:缺少[Route:galleries.update][URI:backend/galleries/{gallery}

  • 我试图设置一个属性,使用@产量和@部分,但如何?我试图用 和 但是它返回id= 我知道我可以用默认的id来管理它,但我不喜欢这种方式,如果我需要使用自定义属性呢?