当前位置: 首页 > 知识库问答 >
问题:

Laravel刀片限制了@yield result的特性

尉迟清野
2023-03-14

我有多个视图,其中有一个公共的@部分将显示在布局文件中。我必须限制@yield返回的字符数。

// layout.blade.php
...
<meta property="og:title" content="@yield('og_title', 'Default Value')" />
...
// sample.blade.php
...
@section('og_title', $page->og_title)
...

尽管示例非常简单,但每个og_title@section都有自己的后期处理(if…else…)

现在,我要做的是将substr添加到每个og_title@部分,并将其重复到所有视图。问题是,当字符限制更改(例如60到75)时,我还必须将其更改为每个视图。

// sample.blade.php
...
@section('og_title', substr($page->meta_title, 0, 60))
...

有没有办法限制@yield返回的字符数?类似:

// layout.blade.php
...
<meta property="og:title" content="@yield('og_title', 'Default Value', $limit??)" />
...

我也尝试添加substr到@yeild,但它返回一个错误:

// layout.blade.php
...
<meta property="og:title" content="{{ substr(@yield('og_title', 'Default Value'), 0, 60) }}" />
...

共有1个答案

田瀚
2023-03-14

在与谷歌发生了一个小时的冲突后,我找到了一个有点“黑客”的解决方案,使用底层函数来获得收益,然后对其应用substr

// layout.blade.php
...
<meta property="og:title" content="{{ substr(e($__env->yieldContent('title', 'Default Value')), 0, 60) }}" />
...
 类似资料:
  • 需要在刀片laravel-value输入中输入变量php,变量i to用于添加i的值,在值=“{$TAREFA-&>TETAPA.i} 为此:value=“{Tarefa->Tetapa1}value=”{Tarefa->Tetapa2}…至10

  • 在我的项目中,我在SASS和Blade中使用了一些资源(主要是图像)。另外,我有一些资源只在SASS中使用,有些只在Blade中使用。 例如,我可以使用在刀片文件,和在SASS文件。 至于我的目录结构,我做了以下操作: 为了编译我的资源并将它们放在文件夹中,我使用以下: 结果,我得到的URL在app.css: 当我在呈现的HTML中获得另一个时: 他们被认为是两种不同的资源,这不是我所期望的。。。

  • Laravel刀片下拉列表类属性不工作。 我在文档中找不到任何对类或为选择/下拉列表分配属性的引用。 http://www.laravel.com/docs/html#下拉列表 尝试的例子: 两者都返回相同的html,但没有属性:

  • 我有3个用户角色:管理员、客户和员工。 登录后,每个角色将重定向到特定的仪表板,例如:-管理员:网站。com/admin-客户:网站。com/客户-员工:网站。通讯员/雇员 此时,无论我使用哪个用户角色,都可以通过这些网址访问所有内容。 限制客户打开admin的最简单方法是什么 Laravel版本5.2.45 PHP版本7.2我正在使用共享托管提供商。谢谢你们

  • 我有一个有很多数字的表格,我想对所有的数字都使用数字格式。所以现在我有这个: 但我只是重复相同的函数number_format(),当有人决定格式不同时,可能会出现问题。然后我必须更改表中的所有格式。我对Nette框架有一些经验,并且存在一个选项,我可以拥有自定义帮助器,然后在模板中使用它,即:在管道之后,我有自己的自定义帮助器。Laravel刀片模板中是否有类似的内容?我在文档中没有找到任何关于

  • 我在建一个拉威尔的网站。我希望提交的表单数据运行查询,并将结果插入表格式。我正在使用oracle DB,并已将其连接到Laravel。另外,我已经创建了表单,查询结果正确。我不能做的是将结果成功地传递到表中。 我的文件如下: > Routes.php(或web.php较新的laravel版本): 搜索。刀身php(带有post方法的表单) 我的控制器(NewController.php)运行查询。