标签: laravel-blade

如何在刀片视图中动态插入代码

使用 Laravel 5.1,我可以动态地将自定义代码插入刀片视图吗?例如,我有这个view.blade.php

<html>
<head>
    <title>App Name - @yield('title')</title>
</head>
<body>
    @section('sidebar')
        This is the master sidebar.
    @show

    <div class="container">
        @yield('content')
        // Here, I want to insert a code dynamically, for example :
        <div> <p> something </p> </div>
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

那么,有没有一种好方法可以在控制器中做这样的事情:

$customCode = "<div> <p> something </p> </div>";
$content = (string) $view;
//For example I want to insert this code into view file on line 11
updateContent($content, $customCode, $line_position_in_view);    
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5 laravel-5.1 laravel-blade

5
推荐指数
1
解决办法
2682
查看次数

Laravel 5.2条件扩展了Blade中的模板

我想根据条件扩展模板.我知道我可以@if @else在刀片中使用语句.我正在做同样的事情,但刀片扩展了两个模板.我不知道为什么.

@if(isset(Auth::user()->id))
    @extends('layouts.adminlayout')
@else
   @extends('layouts.default')
@endif

@section('content')
    i am the home page
    {{ isset(Auth::user()->id) }}
@stop
Run Code Online (Sandbox Code Playgroud)

因为,您可以看到我正在检查用户是否登录,然后扩展模板布局.但它从两个布局都延伸出来.

请帮我.

php laravel-5.2 laravel-blade

5
推荐指数
1
解决办法
1858
查看次数

Laravel 5 Blade 自定义指令 - 传递变量时遇到问题

我正在尝试创建一个 Blade 指令,它将根据传入的内容在我的表行上设置一个类。问题是当我调用它时,没有传入变量的值 - 我拥有的文字字符串括号之间是。

在我看来:

@row($inspection->inspection_disposition)
Run Code Online (Sandbox Code Playgroud)

在指令中:

 Blade::directive('row', function($data)
    {
        var_dump($data);
           .
           .
           .
     }
Run Code Online (Sandbox Code Playgroud)

我在转储中看到的是:

string(37) "($inspection->inspection_disposition)"

我不应该看到那个变量的值吗?这就是我想要的。我在这里缺少什么?

更多信息:

我需要在指令中使用该变量的值,如下所示:

if($data == "hello")
{
   return something
}
elseif($data == "goodbye")
{
   return something else
}
Run Code Online (Sandbox Code Playgroud)

这是一个简化的示例,但希望它有助于说明我需要比较指令中变量的值,然后确定要做什么。也许我需要使用 eval() ?

php laravel-5 laravel-blade

5
推荐指数
1
解决办法
2759
查看次数

Laravel 外部 URL 问题

我想在我的一些锚标记中设置外部 URL,但是当 URL 没有 http/https 协议时面临问题。当 URL 没有这些协议时 URL 变成如下所示:

<a target="_blank" href="www.usatoday.com/"></a>
Run Code Online (Sandbox Code Playgroud)

当我点击它或将鼠标悬停在它上面时,它会显示并将我重定向到: http://localhost/event/www.usatoday.com

我在 href 中尝试了以下两种方法,但没有奏效:

{{url($eventSponsorsRow->sponsorUrl)}}
{{ $eventSponsorsRow->sponsorUrl }}
Run Code Online (Sandbox Code Playgroud)

而不是 href 中的 URL。Laravel 5.3

php laravel-blade laravel-5.3

5
推荐指数
1
解决办法
7741
查看次数

如何将数组传递给laravel 5.4中的@slot?

我试图在我的布局中使用它,我突然想到使用Laravel 5.4 @slot的新功能.

只是想知道是否可以将阵列传递到插槽?

        @section('SampleSection')

            @component( 'mylayouts.partials.contentheader' )

                @slot('title')
                    Sample Title
                @endslot

                @slot('indexes')
                    Pass array here  // example [ 'a', 'b', 'c' ]
                @endslot

            @endcomponent

        @endsection
Run Code Online (Sandbox Code Playgroud)

php laravel-blade laravel-5.4

5
推荐指数
3
解决办法
5904
查看次数

如何在laravel 5.4中将视图文件的html存储到变量中?

我只是尝试了下面的代码,但它什么都不返回。

$view = \View::make('users.index', $data)->render();
Run Code Online (Sandbox Code Playgroud)

laravel laravel-blade laravel-5.4

5
推荐指数
1
解决办法
5065
查看次数

Laravel:如何在刀片模板中获取直接配置值?

我想在刀片中获取配置值。

config/define.php
<?php
return [
    'show' => array(1 => 'Show',0 => 'Hide' ),
];
Run Code Online (Sandbox Code Playgroud)

我找到了一个代码

{{ Config::get('define.show') }}
Run Code Online (Sandbox Code Playgroud)

但我想使用:

{{ $showarray = Config::get('define.show') }}

@foreach ($master as $pt)
{{ $showarray[$pt->show_flag] }}
@endforeach
Run Code Online (Sandbox Code Playgroud)

但它不起作用。请帮帮我!

php laravel laravel-5 laravel-blade

5
推荐指数
1
解决办法
9677
查看次数

如何在 Laravel 刀片中的反应组件中获取 Laravel 验证错误

我是 React 的新手。我在 Laravel 刀片中部分使用了反应表单组件。那么如何将验证错误消息从控制器发送到驻留在 Laravel 刀片文件中的反应组件。

在我的控制器中,

public function store(Request $request)
{
    $rules = [
      'name' => 'required',
      'publish_at' => 'required|datetime'
    ];

    $this->validate($request, $rules);

    $book = Book::create([
        'name' => $request->name,
        'publish_at' => $request->publish_at
    ]);

    return response()->json($book);
}
Run Code Online (Sandbox Code Playgroud)

在我的 Laravel 刀片中,

 <form method="POST" action="patients">
     @csrf
     <div class="form-group">
         <label for="name">Name</label>
         <input type="text" name="name" class="form-control" placeholder=". . .">
         @error('name')
         <span class="text-danger">{{ $message }}</span>
         @enderror
     </div>

     <div id="publish_at"></div> <!-- this is react component -->

     <button type="submit">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)

html javascript laravel reactjs laravel-blade

5
推荐指数
1
解决办法
1717
查看次数

如何使用 VueJS 增强现有的 Laravel 项目?

我刚刚使用 Laravel 框架完成了我的项目。现在我想将 vue.js 添加到我的项目中以呈现视图而不加载它们。我浏览了一些教程,发现我需要将我的刀片文件转换为 Vue 组件才能实现这一点。但据我所知,这是一个很大的过程,因为某些功能在 VueJS 中不起作用。我不知道该怎么做。请有人指导我如何做到这一点。提前致谢。

laravel vue.js laravel-blade vue-component vue-render-function

5
推荐指数
1
解决办法
1946
查看次数

Laravel 8.15.0/Jetstream - 如何注册新刀片 x-jet-newblade?

我只是在用 Laravel 8 做我的第一步,发现了一个我无法解决的问题。

/var/www/html/laravel/resources/views/dashboard.blade.php

    <div class="py-12">
    <div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
        <div class="bg-white overflow-hidden shadow-xl sm:rounded-lg">
            <x-jet-welcome />
        </div>
Run Code Online (Sandbox Code Playgroud)

如果创建在同一目录中一个新的刀片(FE的form.blade.php)具有相同的代码如上但<x-jet-subform/>代替<x-jet-welcome>它通常应重定向到位于下subform.blade.phpvar/www/html/laravel/resources/views/vendor/jetstream/components/subform.blade.php

但是,如果我尝试访问该页面(在 web.php 上设置路由后),它会说

InvalidArgumentException
无法找到组件 [jet-subform] 的类或视图。

所以我认为有必要“注册”新刀片,但我发现没有办法做到这一点......

该视图已发布

php artisan vendor:publish --tag=jetstream-views
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-blade laravel-8 laravel-jetstream

5
推荐指数
2
解决办法
4509
查看次数