简体   繁体   中英

Laravel 5.4 wrongly mix HTML components in Markdown Mailable

I had ordinary Mailable that had some hardcoded content.

I've published mailable views, changed content to markdown and replaced ->view with ->markdown .

Now mail have nicely formated markdown.

However Laravel after compiling that markdown will pick HTML component definitions, for reasons I can not phantom. And that after it used Markdown version for message, so it's mixing both kinds in a single Mailable markdown view!

I've tried:

  • php artisan cache:clear
  • php artisan view:clear
  • adding markdown to html components - wont work, Laravel use them past markdown compilation step
  • changing ->markdown to ->markdown - yes it will give error about unexisting method

Using: PHP 7.0, Laravel 5.4.28

Q: Is there any Laravel global setting that would override ->markdown call? Any other ideas what may be wrong?

Re reading the docs:

Markdown mailables support Blade templates. Blade support only ordinary html and blade syntax.

Individual components can use markdown compilers to parse some or all inputs. That's how @component('mail::table') works.

Update: Markdown versions are used to generate plain text mails. Where as blade templates are used to generate html versions. Again, markdown can be compiled explicitly in blade templates, but that's the extend of it's support.

我想你需要在这里关注laravel文档: https ://laravel.com/docs/5.4/mail#markdown-mailables,你也可以查看laravel新闻文章https://laravel-news.com/laravel-markdown-emails

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM