标签: laravel-blade

使用 Markdown 的 Laravel Mail 嵌套组件未正确解析

当我在 Laravel 中使用发送 markdown 邮件的方法并使用Laravel Doc->markdown()中使用的示例时,我看到电子邮件中没有看到按钮,而是看到了纯 HTML 代码。

我的模板:

@component('mail::message')
    # Order Shipped

    Your order has been shipped!

    @component('mail::button', ['url' => $url])
        View Order
    @endcomponent

    Thanks,<br>
    {{ config('app.name') }}
@endcomponent
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-blade laravel-5.5

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

Laravel Blade @foreach 指令未定义的偏移量:1

当尝试循环 Laravel 分页项时,我遇到了未定义索引的问题。这是我的代码。

控制器

class SearchController extends Controller
{
    function index()
    {
        $term = request('q', '');

        $products = Product::where('name', 'LIKE', "%$term%")->paginate(12);

        $products->appends(['q' => $term]);

        $data['products'] = $products;

        // dd( $products );

        return view('products.search', $data);
    }
}
Run Code Online (Sandbox Code Playgroud)

产品/search.blade.php

@foreach( $products as $prod )

<div class="post">

    <a href="{{ route('product.show', ['name' => $prod->id]) }}">

        <p class="post-title">{{ $prod->name }}</p>

    </a>

</div>

@foreach
Run Code Online (Sandbox Code Playgroud)

有错误

在此输入图像描述

php laravel laravel-blade

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

Laravel Blade - 通过 id 检索元素

我想通过 id 检索一个元素。

在我的刀片文件中:

{{ $auctionStatuses }}
Run Code Online (Sandbox Code Playgroud)

这输出:

[
    {
        "id":1,
        "name":"Awaiting customer action",
        "created_at":"2018-10-04 10:14:08",
        "updated_at":"2018-10-04 10:14:08"
    },
    {
        "id":2,
        "name":"Transfer in progress",
        "created_at":"2018-10-04 10:15:11",
        "updated_at":"2018-10-04 10:15:11"
    },
    {
        "id":3,
        "name":"Completed",
        "created_at":"2018-10-04 10:15:14",
        "updated_at":"2018-10-04 10:15:14"
    }
] 
Run Code Online (Sandbox Code Playgroud)

我想在通过 id 字段引用时输出名称

由于一些数据来自 mongodb,我无法使用标准关系

我已经尝试过这个{{ $auctionStatuses['3'] }} ,但显然那不存在。

我想理想情况下,我想做这样的事情

{{ $auctionStatuses[*]->id['3']->name }}

有没有办法做我需要的事情,而不循环遍历 json 数组?

php json laravel-blade laravel-5.6

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

在 Laravel Blade 中使用 Trait(组件)

我尝试在 Laravel Blade 中使用 Trait,但没有成功。

这是特质

namespace App\Repositories;

trait Residence
{
    public $country=['USA','Japan','Italy'];

    public $building=['duplex','condominium'];
}
Run Code Online (Sandbox Code Playgroud)

我尝试像这样在我的刀片中使用:

@inject('Residence', 'App\Repositories\Residence')

@foreach($Residence->country as $country)
    {{$country}}
@endforeach

@foreach($Residence->building as $building)
    {{$building}}
@endforeach
Run Code Online (Sandbox Code Playgroud)

但我收到Target [App\Repositories\Residence] is not instantiable.错误,有什么建议吗?(我使用的是 laravel 5.7)

laravel laravel-blade

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

Laravel Mail 消息组件前缀

我正在尝试为 Laravel 自定义我的电子邮件模板。所以我发布了通知和邮件供应商。

resources/views/vendor/notifications/email.blade.php文件中框架调用这样的组件

@component('mail::button')
Run Code Online (Sandbox Code Playgroud)

前缀代表什么mail::

我尝试在 下编写自己的组件locatete resources/views/vendor/mail/mycomponent.blade.php。所以我也将其称为默认组件。

@component('mail::mycomponent')
Run Code Online (Sandbox Code Playgroud)

这是行不通的。这里的错误:

View [mycomponent] not found. (View: /resources/views/vendor/notifications/email.blade.php)
Run Code Online (Sandbox Code Playgroud)

所以我的问题是前缀mail::点在哪里?我可以将它用于我自己的组件吗?

php laravel laravel-blade laravel-mail

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

第二页上边距不起作用 - Laravel DOMPDF

当您尝试在第二页上应用上边距时,页眉行为不正确。

第 1 页: 在此输入图像描述

第2页: 在此输入图像描述

CSS

body {
    font-family: Arial, Helvetica Neue, Helvetica,sans-serif;
    font-size: 14px;
}

@page {
    margin: 100px 25px;
}

header {
    position: fixed;
    top: -70px;
    left: 0px;
    right: 0px;
    height: 50px;
}

main {
    margin-top: 60px;
}

footer {
    position: fixed;
    bottom: -100px;
    left: -60px;
    right: -60px;
    background-color: #3f8d99;
    height: 60px;
    border-top: 1px solid #333;
    font-size: 12px;
    width: 100%;
    padding-top: 6px;
    padding-left: 60px;
    padding-right: 60px;
    color: white;
}

footer .pagenum:before {
    content: counter(page);
}

footer .pagenum-container { …
Run Code Online (Sandbox Code Playgroud)

html css dompdf laravel laravel-blade

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

强制路由到 HTTPS

我需要在实时服务器上设置 laravel 背包的帮助。

所以一开始我在加载资源时遇到了麻烦,因为它使用 http 作为图像和 css

http://example.com/images/http://example.com/css/

我可以使用我得到的代码解决这个问题

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> 
Run Code Online (Sandbox Code Playgroud)

资产已正确加载(它显示https://example.com/images/ ...当我检查时)

但不知何故,一些关键内容没有通过 https 加载,截图如下: 检查的元素用于文件管理器侧栏

随着错误

从源“ https://example.com ”访问位于“ http://example.com/admin/elfinder/connector ”的 XMLHttpRequest已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:重定向不允许用于预检请求。

这是错误的代码

  <!-- This file is used to store sidebar items, starting with Backpack\Base 0.9.0 -->
  <li>
    <a href="{{ backpack_url('dashboard') }}">
      <i class="fa fa-dashboard"></i>
      <span>{{ trans('backpack::base.dashboard') }}</span>
    </a>
  </li>
Run Code Online (Sandbox Code Playgroud)

还有一些内容没有更新为 https,例如一些 CSS(来自供应商/crud)、脚本、post 方法和徽标

我认为我可以将元标记复制粘贴到backpack_url,但我不知道它在哪里或它是如何工作的。

我对此很陌生,如有任何建议,我们将不胜感激

谢谢!

http-status-code-301 http-status-code-302 laravel laravel-blade laravel-backpack

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

刀片组件变量未渲染

我之前在我的项目中成功使用了 Laravel@component语句,但由于某种原因,我的变量在以下情况下没有被渲染。

<div id="{{ $modalId }}" class="modal fade" role="dialog">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
            <h4 class="modal-title" id="modal-title">Add a user</h4>
        <button type="button" class="close" data-dismiss="modal">&times;</button>
      </div>
      <div class="modal-body">
      </div>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)
@component('components.modal_bootstrap')
  @slot('modalId')
    {{ 'test' }}
  @endslot
@endcomponent
Run Code Online (Sandbox Code Playgroud)

预期结果

test呈现为模式对话框的 id。

实际结果

{{ $modalId }}是模式对话框的 id。


我还尝试复制粘贴文档中显示的示例:https://laravel.com/docs/6.x/blade,但同样的问题仍然存在。我想我错过了一些明显的东西,但我不知道它是什么。

laravel laravel-blade

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

在blade中创建自定义blade html元素

我有一些用 HTML 构建的经常使用的复杂 UI 元素(例如卡片、按钮组等)。为此,我想创建可重用的刀片元素。

我发现的最接近的解决方案是自定义刀片指令。

我定义了一个简单的卡片指令,如下所示:

Blade::directive('card', function ($expression) {
    list($title, $icon, $buttons) = explode(',', str_replace(["'"], '', $expression));

    $str = '<div class="card card-custom">
                         <div class="card-header">
                             <div class="card-title">
                                 <span class="card-icon">
                                     <i class="'.$icon.'"></i>
                                 </span>
                                 <h3 class="card-label">'.$title.'
                             </div>
                             <div class="card-toolbar">'.$buttons.'
                             </div>
                         </div>
                         <div class="card-body">';
    return "<?php echo '".$str."'; ? >";
});

Blade::directive('endcard', function () {
    return '</div></div>';
})
Run Code Online (Sandbox Code Playgroud)

在我的刀片中我只是这样称呼它:

@card('Dashboard', 'fa fa-tachometer', $buttonsHtml)
    <div> Card content here...</div>
@endcard
Run Code Online (Sandbox Code Playgroud)

哪位想要附图。

在此输入图像描述

问题是我无法将任何参数作为变量传递(例如 $buttonsHtml),因为它会将其字面意思视为“$buttonsHtml”。

我还没有看到有人试图在将变量传递给自定义指令之前对其进行求值。有可能这样做吗?

如果我需要传递 $buttonsHtml 变量的实际值,那么它是没有用的,因为它是由其他函数生成的。任何人都知道一种解决方法,甚至可以替代使用自定义指令吗?

laravel laravel-blade laravel-7

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

Laravel 5.2使用@yield和@section

我的主要布局中有2个部分: @yield('styles') @yield('scripts')

在扩展主要布局的其他模板文件中,我使用@section('styles')@section('scripts')

当我加载部分视图时,"样式"部分中的所有样式都加载良好.但是,关于脚本,只有第一个局部视图的脚本正在加载,而对于其他脚本,它会忽略它们.

之前的任何想法或经验?

laravel laravel-5.2 laravel-blade

0
推荐指数
1
解决办法
3384
查看次数