我正在 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()
在我的刀片编辑表单中,我有这个:
<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 将返回当前日期。
我可以做什么来避免这种情况?
我在 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&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,这就是表格开始的地方。
<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) 我正在尝试通过 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,任何能为我指明正确方向的事情都可以。
我在文件中注册了一些组件作为全局组件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) 我有一些这样的代码
<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 中有以下刀片组件。我正在使用顺风。位于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”
我们将不胜感激您的评论。
如果我编写一些带有弃用通知的 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”。知道我缺少什么吗?
我在 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) laravel ×10
laravel-blade ×10
php ×3
css ×1
debugging ×1
forms ×1
html ×1
laravel-5.5 ×1
laravel-mail ×1
log-level ×1
logging ×1
multilingual ×1
newline ×1
php-carbon ×1
vue.js ×1