Laravel Blade:在 asset() 中使用 $variable 或 'xxx'

Laravel Blade: use $variable or 'xxx' inside asset()

我想更改某些页面页眉中的徽标。 因此,我要像这样扩展我的布局:

@extends('templates.main', ['logo' => 'img/logo/logo_red_white_text.png'])

在我的布局中,当没有设置 $logo 时,它使用默认的布局:

<img src="{{ asset($logo or 'img/logo/logo_yellow_white_text.png') }}" alt="">

但是这不起作用。它仅在我删除 asset() 时有效,但在使用前缀时不会显示徽标(例如 app.dev/en/mypage),所以我需要 asset.

我能做什么?

解决方法如下:

<img src="{{ asset(isset($logo) ? $logo : 'img/logo/logo_yellow_white_text.png') }}" alt="">

不幸的是,您可以使用 or laravel 的 blade 声明仅用于回显,如下所示:

{{$logo or 'img/logo/logo_yellow_white_text.png'}}