在Laravel 5.7中更改(电子邮件)按钮颜色

时间:2018-09-24 11:20:36

标签: php css laravel html-email laravel-5.7

在Laravel 5.7中更改成功,错误和原色的最佳方法是什么?

我通过php artisan vendor:publish --tag=laravel-notifications拥有email.blade.php

...
{{-- Action Button --}}
@isset($actionText)
<?php
    switch ($level) {
        case 'success':
        case 'error':
            $color = $level;
            break;
        default:
            $color = 'primary';
    }
?>
@component('mail::button', ['url' => $actionUrl, 'color' => $color])
...

模板使用'success''error''primary'来为按钮着色,但是在哪里可以更改它们的值?

4 个答案:

答案 0 :(得分:3)

只需运行php artisan vendor:publish --tag=laravel-mail,这将在您的views目录中创建vendor / html文件夹。

然后编辑/resources/views/vendor/mail/html/themes/default.css文件并更改.button-primary类。

此外,如果CSS更改不够,您还可以访问每个邮件通知组件的所有HTML代码。

答案 1 :(得分:3)

这是最好的,正确的方法

https://laracasts.com/series/whats-new-in-laravel-5-4/episodes/7

(我将提取)-运行

php artisan vendor:publish --tag=laravel-mail, this will create vendors/html folder in your views directory.

然后在

创建一个新的主题文件

/resources/views/vendor/mail/html/themes/my_theme.css

然后进入

config/mail.php

设置新主题

        'theme' => 'my_theme',

        'paths' => [
            resource_path('views/vendor/mail'),
        ],
    ],

现在您可以设置自己的CSS并创建任何新的按钮颜色。

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

答案 2 :(得分:0)

也许最好的方法是创建ColorHelper类?

class ColorHelper {

    public static function level($level) {
        if(method_exists ( $this , $level )) {
            call_user_func($level);
        } else {
            return false;
        }
    }

    public static function success() {
        return '#00FF00';
    }

    public static function error() {
        return '#FF0000';
    }

}

答案 3 :(得分:0)

我相信Laravel使用bootstrap 4,然后我猜想它的工作原理相同,因此'primary'属性为按钮赋予了颜色/样式,下面是一些示例: https://getbootstrap.com/docs/4.0/components/buttons/

如果您希望按钮默认为红色,则可以:

default: $color = 'danger';