标签: laravel-blade

在 Laravel 中将 @lang 作为 @section 参数传递

我正在 Laravel 5.4 中开发多语言应用程序

模板.blade.php

<title>@yield('title')</title>
Run Code Online (Sandbox Code Playgroud)

然后在其他页面中,我尝试根据用户区域设置动态设置图块。当我尝试使用以下内容时,它会引发错误:

@section('title',{{ __("dashboard") }})
Run Code Online (Sandbox Code Playgroud)

或者

@section('title', @lang("dashboard"))
Run Code Online (Sandbox Code Playgroud)

这是错误:

Parse error: syntax error, unexpected '<'
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉如何传递@lang__('')作为参数@section()

php multilingual laravel laravel-blade

3
推荐指数
1
解决办法
3328
查看次数

如果变量为空,Carbon 获取当前日期

在我的刀片编辑表单中,我有这个:

<input type="text" name="birth" class="form-control" id="birth" value="{{ \Carbon\Carbon::parse($associado->birth)->format('d/m/Y') }}">
Run Code Online (Sandbox Code Playgroud)

问题是:如果$associado->birth数据库中为 NULL,Carbon 将返回当前日期。

我可以做什么来避免这种情况?

php laravel php-carbon laravel-blade

3
推荐指数
1
解决办法
1万
查看次数

Laravel Blade 表单关闭问题

我在 Laravel 中有一个这样的表单:

    <div class="modal-body">
          {!! Form::model($questionGroup, ['route' => ['question_groups.update', $questionGroup->id, 'model_slug' => 'assessments', 'model_id' => $assessment->id], 'method' => 'patch']) !!}
          <p>TEST</p>
          {!! Form::close() !!}
    </div>
Run Code Online (Sandbox Code Playgroud)

这在我的源中输出以下内容:

<div class="modal-body">
   <form method="POST" action="http://localhost:8000/admin/question_groups/7?model_slug=assessments&amp;model_id=1" accept-charset="UTF-8"></form>
   <input name="_method" type="hidden" value="PATCH">
   <input name="_token" type="hidden" value="E6HzCmQvRGds6eETgdCv5KCsf0eyOtjxvqnidrTx">
   <p>TEST</p>
</div>
Run Code Online (Sandbox Code Playgroud)

我不知道为什么表格没有正确关闭。有任何想法吗?我正在使用 Laravel 5.5,此表单位于 Bootstrap Modal 中。

编辑:

以下是完整 html 的链接:https://gist.github.com/shabaz-ejaz/96be7b4b20ba9146436f1f9f1d274211

该文件相当大,因此请进行搜索question_groups.update,这就是表格开始的地方。

forms laravel laravel-blade laravel-5.5

3
推荐指数
1
解决办法
3244
查看次数

Laravel Blade(将数据显示为新行)

<textarea>所以我的表格中有一个。用户可以输入新行或单行。因此,当用户查看文本时,它将显示为他/她输入文本的方式。

形式

<textarea name="jo_unit" class = 'form-control' required="required" cols = '4'></textarea>
Run Code Online (Sandbox Code Playgroud)

预期输出

测试 1
测试 2
测试 3

我得到什么

我得到什么

我的显示它的代码

{{ nl2br(@$get['result'][0]->jo_unit_2) }}
Run Code Online (Sandbox Code Playgroud)

php newline laravel laravel-blade

3
推荐指数
1
解决办法
4912
查看次数

Laravel htmlspecialchars() 发送电子邮件时出错

我正在尝试通过 Laravel 中的 Sendgrid 发送电子邮件。我一直在关注Sendgrid 的关于使用 Laravel 发送电子邮件的知识库文章

我已经在我的文件中设置了所有内容.env(尽管我还必须更新MAIL_HOSTin ~/config/mail.php),并且我能够发送测试电子邮件(我正在刀片内执行此操作)。

电子邮件模板本身的刀片与 SendGrid 的文档完全相同:

<!DOCTYPE html>
<html lang="en-US">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <h2>Test Email</h2>
        <p>{{$message}}</p>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我在单独的刀片中运行的代码(我只是为了测试而这样做)是:

@php

use App\Mail\TestEmail;

$data = ['message' => 'Oh, hai!'];

Mail::to('john@doe.com')->send(new TestEmail($data));

@endphp
Run Code Online (Sandbox Code Playgroud)

通过上述我得到以下错误:

htmlspecialchars() expects parameter 1 to be string, object given 
    (View: ~/resources/views/emails/test.blade.php)
Run Code Online (Sandbox Code Playgroud)

当我不使用{{ message }}刀片时,一切都很好。

有人可以让我知道发生了什么事以及如何解决它吗?这是我第一次使用 Laravel,任何能为我指明正确方向的事情都可以。

htmlspecialchars laravel laravel-blade laravel-mail

3
推荐指数
1
解决办法
1684
查看次数

从 Laravel Blade 文件导入 Vue js 组件

我在文件中注册了一些组件作为全局组件js/app.js,但这使得编译后的app.js文件更大。

//example: app.js
Vue.component('profile-page', require('./components/profiles/ProfilePage.vue').default);
Run Code Online (Sandbox Code Playgroud)

问题是:有没有办法在 laravel-blade 文件中导入这些全局组件,而不是在app.js文件中全局注册它?

像这样的东西:

// laravel-blade file
<script>
    import ProfilePage from ...;
</script>
Run Code Online (Sandbox Code Playgroud)

laravel vue.js laravel-blade

3
推荐指数
1
解决办法
8433
查看次数

如何在 Blade Laravel 中获取旧的输入数组

我有一些这样的代码

<div class="form-group">
    <label for="tag">Tag</label><br>
    <input type="text" data-role="tagsinput" 
           class="form-control form-control-lg @error('tag') is-invalid @enderror" 
           id="tag" name="tag[]" value="{{old('tag')}}" placeholder="Enter tag">
    @error('tag') <div class="text-danger"> {{ $message }} </div> @enderror
</div>
Run Code Online (Sandbox Code Playgroud)

如何在 laravel Blade 中获取旧值数组,在这种情况下我想获取标签的旧值?

laravel laravel-blade

3
推荐指数
1
解决办法
7110
查看次数

$attributes-&gt;merge :我做错了什么

我在 laravel 中有以下刀片组件。我正在使用顺风。位于views/components/indigo-button-sm.blade.php

<button {{ $attributes->merge(['type' => 'button', 'class' => 'inline-flex justify-center py-1 px-1 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500']) }}>
    {{ $slot }}
</button>
Run Code Online (Sandbox Code Playgroud)

我希望能够即时更改组件。也就是说,我使用上面的组件来显示“保存”按钮。但随后我想显示一个按钮,上面写着“确认”您的输入,并稍微更改按钮的外观,以在视觉上暗示这是一个不同的选择。

具体来说,我有一个自动完成功能,用户正在输入一个我提供超过 2,000 个选择(学校)的项目。但是,如果用户输入的学校不在我的数据库表列表中,我希望他们确认他们输入的学校正确,所以我想显示“确认”您的输入按钮,只是为了确保。如果他们选择的学校已经在列表中,我不会要求他们确认输入。

所以,我想更改保存按钮

bg-indigo-600 hover:bg-indigo-700
Run Code Online (Sandbox Code Playgroud)

确认按钮的配色方案略有不同。

bg-indigo-800 hover:bg-indigo-900
Run Code Online (Sandbox Code Playgroud)

或者

<x-indigo-button-sm x-show="showsaveschool" wire:click="saveSchoolInfo">Save</x-indigo-button-sm>
<x-indigo-button-sm x-show="showconfirmschool" wire:click="confirmSaveSchoolInfo">Confirm</x-indigo-button-sm>
Run Code Online (Sandbox Code Playgroud)

因此他们输入学校,但该学校不在查找列表中。他们单击“保存”按钮。保存按钮消失,确认按钮显示,确认按钮下方会显示一段文本。

当我输入此内容时,我开始认为创建一个“确认”按钮并始终使用它会更好。

反正。我认为 $attributes(merge['']) 允许您更改属性,但我认为它只允许您添加属性。因此,如果您有一个边距类,在组件中说“my-0”,它似乎不允许新的类似类,例如“my-5”

我们将不胜感激您的评论。

laravel laravel-blade laravel-components

3
推荐指数
1
解决办法
7736
查看次数

如何在 Laravel 中显示警告和弃用消息

如果我编写一些带有弃用通知的 PHP 代码,它会显示在本地环境中。

示例:index.php

<?php

function super(string $test='', string $essai)
{
    return 'toto';
}

super('sy', 1);

exit;
Run Code Online (Sandbox Code Playgroud)

显示:

Deprecated: Optional parameter $test declared before required parameter $essai is implicitly treated as a required parameter in /var/www/public/index.php on line 9
Run Code Online (Sandbox Code Playgroud)

这很好。

但是 Laravel 控制器中的完全相同的代码不会显示,并且不会存储在任何日志文件中。我将配置 app.env 设置为“local”,将 app.debug 设置为 true,将 app.log_level 设置为“debug”。知道我缺少什么吗?

debugging logging laravel laravel-blade log-level

3
推荐指数
1
解决办法
3170
查看次数

如何为 Laravel Blade 组件设置类和内联样式?

我在 Laravel Blade 中有一个组件,想要class在不传递任何数据的情况下设置或内联样式。

我的简单代码是:

<x-atom.form class="mt-5" :data="$fields->main_form"></x-atom.form>
Run Code Online (Sandbox Code Playgroud)

mt-5未设置为x.atom.form组件

我的组件代码是:

<section class="contact-form"></section>
Run Code Online (Sandbox Code Playgroud)

html css laravel laravel-blade

3
推荐指数
1
解决办法
3037
查看次数