使用 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) 我想根据条件扩展模板.我知道我可以@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)
因为,您可以看到我正在检查用户是否登录,然后扩展模板布局.但它从两个布局都延伸出来.
请帮我.
我正在尝试创建一个 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() ?
我想在我的一些锚标记中设置外部 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
我试图在我的布局中使用它,我突然想到使用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) 我只是尝试了下面的代码,但它什么都不返回。
$view = \View::make('users.index', $data)->render();
Run Code Online (Sandbox Code Playgroud) 我想在刀片中获取配置值。
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)
但它不起作用。请帮帮我!
我是 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) 我刚刚使用 Laravel 框架完成了我的项目。现在我想将 vue.js 添加到我的项目中以呈现视图而不加载它们。我浏览了一些教程,发现我需要将我的刀片文件转换为 Vue 组件才能实现这一点。但据我所知,这是一个很大的过程,因为某些功能在 VueJS 中不起作用。我不知道该怎么做。请有人指导我如何做到这一点。提前致谢。
laravel vue.js laravel-blade vue-component vue-render-function
我只是在用 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) laravel-blade ×10
php ×7
laravel ×6
laravel-5 ×3
laravel-5.4 ×2
html ×1
javascript ×1
laravel-5.1 ×1
laravel-5.2 ×1
laravel-5.3 ×1
laravel-8 ×1
reactjs ×1
vue.js ×1