标签: laravel-blade

Laravel 5.3 中根据条件在 Blade 模板中插入 html 属性的好方法

我知道还有其他问题可以解决这个问题,但它们主要涉及根据变量向属性添加值。我想根据条件包含几个属性及其值。

我的第一次尝试,正如你在下面看到的,除了不工作之外,可读性也不是很好:

<input
type="text" 
{{ $errors->has('bedrooms') ? "data-toggle='tooltip' data-placement='right' 
title='please, enter a value between 1 and 9.'" : "" }}

/>
Run Code Online (Sandbox Code Playgroud)

生成 html:

<input type="text"
data-toggle=&quot;tooltip&quot; data-placement=&quot;right&quot; 
title=&quot;please, enter a value between 1 and 9.&quot />
Run Code Online (Sandbox Code Playgroud)

html php laravel laravel-blade bootstrap-4

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

检查是否存在视图并在Laravel Blade中执行@include

使用Laravel Blade,有没有一种优雅的方法来检查视图是否存在之前@include

例如,我目前正在这样做:

@if(View::exists('some-view'))
    @include('some-view')
@endif
Run Code Online (Sandbox Code Playgroud)

当'some-view'是一个包含变量的长字符串时,这会非常麻烦.

理想情况下,我正在寻找这样的东西:

@includeifexists('some-view')
Run Code Online (Sandbox Code Playgroud)

或者,@include如果视图不存在,则只输出一个空字符串.

另外,我还想提供一组视图,并使用存在的第一个视图,例如:

@includefirstthatexists(['first-view', 'second-view', 'third-view'])
Run Code Online (Sandbox Code Playgroud)

如果不存在,则输出空字符串.

我该怎么做呢?我需要扩展BladeCompiler还是有另一种方式?

laravel blade laravel-5 laravel-blade

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

如何在Blade(Laravel 5)中扩展多个模板?

我有以下文件:

foo.blade.php

<html>
   <head>
   </head>
   <body>
      <h1>Foo Template</h1>
      @yield('content')
   </body>
</html>
Run Code Online (Sandbox Code Playgroud)

bar.blade.php

<h2>Bar Template</h2>
<div class="bar-content">
@yield('bar-content')
</div>
Run Code Online (Sandbox Code Playgroud)

我想创建另一个能够扩展上述模板的文件.例如:

@extends('foo')
@section('content')
     <p>Hello World</p>
     @extends('bar')
     @section('bar-content')
          <p>This is in div.bar-content</p>
     @endsection
@endsection
Run Code Online (Sandbox Code Playgroud)

给:

<html>
   <head>
   </head>
   <body>
      <h1>Foo Template</h1>
      <p>Hello World</p>
      <h2>Bar Template</h2>
      <div class="bar-content">
          <p>This is in div.bar-content</p>
      </div>
   </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

laravel blade laravel-5 laravel-blade

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

带有 Laravel 的 Google AMP

我最近推出了一个基于 laravel 的电子商务网站。现在我真的认为实施 AMP 是个好主意,因为它现在支持电子商务(甚至 shopify 和 ebay 也在实施它)

所以我的问题是我们如何在 Laravel 上实现 AMP?有没有办法在桌面版上使用 desktopMainTempalte.blade.php 并在移动版上切换到 mobileMainTemplate.blade.php?我只是不想为移动设备创建一个不同的域作为 m.domain.com。我想要一些有创意的东西,但我不确定我是否朝着正确的方向前进。

如果你在我的鞋子里,你们会做什么?

laravel amp-html laravel-blade

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

是否可以同步在同一页面上多次显示的Vuejs组件?

我有一个显示项目的网页.对于每个项目,都有一个按钮(vuejs组件),允许用户将此项目切换(添加/删除)到他的集合.

这是组件:

<template lang="html">
        <button type="button" @click="toggle" name="button" class="btn" :class="{'btn-danger': dAdded, 'btn-primary': !dAdded}">{{ dText }}</button>
    </template>

<script>
export default {
    props: {
        added: Boolean,
        text: String,
        id: Number,
    },
    data() {
        return {
            dAdded: this.added,
            dText: this.text,
            dId: this.id
        }
    },
    watch: {
        added: function(newVal, oldVal) { // watch it
            this.dAdded = this.added
        },
        text: function(newVal, oldVal) { // watch it
            this.dText = this.text
        },
        id: function(newVal, oldVal) { // watch it
            this.dId = this.id
        }
    },
    methods: {
        toggle: …
Run Code Online (Sandbox Code Playgroud)

laravel-blade vue-component vuejs2

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

Laravel Blade:@stop VS @show VS @endsection VS @append

在Laravel中,有不同的使用方法:

@yield('section1') // Filled in by child view

@section('section2')
    // Default content, can be overwritten by child
    // Different ways of closing the section
@endsection|stop|show|append
Run Code Online (Sandbox Code Playgroud)

谁能告诉我这些之间究竟有什么区别?

根据这一点,@ stop和@endsection可能是相同的.(其中一个已被弃用,但现已不再使用)

php laravel laravel-5 laravel-blade

9
推荐指数
2
解决办法
2803
查看次数

使用JavaScript显示Laravel的变量

在我的代码中,我使用的是typeahead.js.我使用Laravel 5,我需要替换var states我的{{ $jobs }}变量.我需要将所有作业标题列为数组.

在我的控制器中我有

$jobs = Job::all(['job_title']);
Run Code Online (Sandbox Code Playgroud)

我知道javascript中的循环方法,但我不知道如何在javascript中"链接"我的刀片变量.谁知道怎么样?

我试过,在my.js中

var jobs = {{ $jobs }}
Run Code Online (Sandbox Code Playgroud)

但那不行.

javascript php laravel laravel-5 laravel-blade

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

将多个参数传递给刀片指令

我正在尝试创建一个刀片指令,以突出显示将从我的搜索查询返回的一些单词.

这是我的刀片指令:

class AppServiceProvider extends ServiceProvider

{
    public function boot()
    {
        Blade::directive('highlight', function($expression, $string){

            $expressionValues = preg_split('/\s+/', $expression);

            foreach ($expressionValues as $value) {
                $string = str_replace($value, "<b>".$value."</b>", $string);
            }

            return "<?php echo {$string}; ?>";
        });
    }

    public function register()
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

我用这样的方式调用刀片:

@highlight('ho', 'house')
Run Code Online (Sandbox Code Playgroud)

但是,这个错误跟随着我:

Missing argument 2 for App\Providers\AppServiceProvider::App\Providers\{closure}()
Run Code Online (Sandbox Code Playgroud)

怎么解决?

php laravel blade laravel-blade laravel-5.3

8
推荐指数
4
解决办法
5898
查看次数

如何在vue模板中引用laravel csrf字段

我有一个包含表单的vue模板:

<form id="logout-form" :action="href" method="POST" style="display: none;">
        {{ csrf_field() }}
</form>
Run Code Online (Sandbox Code Playgroud)

在laravel中,表单必须定义csrf_field().但是在一个vue组件中,该语句{{ csrf_field() }}意味着我有一个csrf_field在我的vue实例中命名的方法,而我正在调用它.

在这种情况下如何添加csrf_field?

laravel vue.js laravel-blade

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

刀片文件的 Laravel 命名约定

我知道 Laravel 中的命名约定包含在另一个问题中,但刀片文件没有在那里介绍。我阅读了几个博客和论坛,它们都提供了不同的方法,所以我想在这里问:

我的控制器方法是AdminController@listPropertyTypes - 它列出和管理属性类型..

一篇博客建议:

/resources/views/admin/property/types.blade.php
Run Code Online (Sandbox Code Playgroud)

另一个博客建议下划线或没有空格:

/resources/views/admin/property_types.blade.php
/resources/views/admin/propertytypes.blade.php
Run Code Online (Sandbox Code Playgroud)

我个人会这样命名,因为它是一个视图:

/resources/views/admin/property-types.blade.php
Run Code Online (Sandbox Code Playgroud)

是否有最佳实践或 PSR 规则?

laravel laravel-blade

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