Как показать изображение в ячейке таблицы в уценке почтовой программы, используя laravel 5.7? - PullRequest
0 голосов
/ 29 декабря 2018

Я использую laravel 5.7 и разрабатываю шаблон рассылки рассылки в блейде, где сообщения блога показаны в таблице.Пожалуйста, смотрите код:

Контроллер для отображения шаблона почтовой программы в браузере:

$posts = [
        [
        'title' => 'Post with tags',
        'slug' => 'post-with-tags',
        'excerpt' => "Post's Short description here",
        'featured_image' => "1545299956.png",
        'campaign_source' => "campaign source",
        'campaign_name' => "campaign name",
        'campaign_medium' => "campaign medium",
        'campaign_term' => "campaign term",
        'campaign_content' => "capaign content",
            ],

        [
        'title' => 'Post with tags',
        'slug' => 'post-with-tags',
        'excerpt' => "Post's Short description",
        'featured_image' => "1545299956.png",
        'campaign_source' => "campaign source",
        'campaign_name' => "campaign name",
        'campaign_medium' => "campaign medium",
        'campaign_term' => "campaign term",
        'campaign_content' => "capaign content",
    ]
    ];


    echo (new App\Mail\EmailNewsletterForBlogPosts("Mailer Short Description", $posts))->render();

EmailNewsletterForBlogPosts:

$email= $this->subject(config('app.name')." : Our newsletter")->markdown('emails.blog_post_newsletter')->with([
            'shortDescription' => $this->shortDescription,
            'posts' => $this->posts
        ]);

blog_post_newsletter.blade.php:

Это работает

@component('mail::message')

#{{$shortDescription}}

@component('mail::table')
| Image       | Title         |
| ------------- |:-------------:|
@foreach($posts as $post)
| ![Test](http://localhost:8000/storage/blog_featured_images/1545299956.png "THIS IS WORKING")      | Right-Aligned |
@endforeach
@endcomponent



Thanks,<br>
Exchange Support
@endcomponent

, но это НЕ работает

@component('mail::message')

#{{$shortDescription}}

@component('mail::table')
| Image       | Title         |
| ------------- |:-------------:|
@foreach($posts as $post)
@php
$imagePath = asset('storage/blog_featured_images/');
$imagePath.=$post->featured_image;
@endphp
| ![Test]({{$imagePath}} "THIS IS NOT WORKING")      | Right-Aligned |
@endforeach
@endcomponent



Thanks,<br>
Exchange Support
@endcomponent

Проблема, которую я предполагаю здесь, заключается в том, что всякий раз, когда я выполняю какие-либо php-операции, такие как объединение имени изображения с путем, он показывает мне null в браузере.Событие Я попытался передать полный путь к изображению в массиве $posts, но изображение по-прежнему не отображается, но браузер возвращает null.

Пожалуйста, помогите мне в этом сценарии.

1 Ответ

0 голосов
/ 29 декабря 2018

попробуйте ниже:

$imagePath = $message->embed(asset('storage/blog_featured_images/'.$post->featured_image));
...