Изменение цвета кнопок электронной почты в Laravel 5.7 - PullRequest
0 голосов
/ 24 сентября 2018

Каков наилучший способ изменить успех, ошибку и основные цвета в Laravel 5.7?

У меня есть email.blade.php через php artisan vendor:publish --tag=laravel-notifications

...
{{-- 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 голосов
/ 23 января 2019

Это лучший и правильный путь из

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
0 голосов
/ 24 сентября 2018

Laravel использует bootstrap 4, я полагаю, тогда я думаю, что он работает так же, поэтому атрибут 'primary' дает цвет / стиль кнопке, вот несколько примеров: https://getbootstrap.com/docs/4.0/components/buttons/

Если вы хотите, чтобы вашкрасная кнопка по умолчанию вы можете иметь:

default: $color = 'danger';
0 голосов
/ 08 октября 2018

Просто запустите php artisan vendor:publish --tag=laravel-mail, это создаст папку vendors / html в каталоге представлений.

Затем отредактируйте файл /resources/views/vendor/mail/html/themes/default.css и измените класс .button-primary.

Кроме того, выиметь доступ ко всему HTML-коду каждого компонента почтовых уведомлений, если CSS-изменений недостаточно.

0 голосов
/ 24 сентября 2018

Может быть, лучший способ - создать класс 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';
    }

}
...