Laravel 8.x Blade模板@import导入时丢失末尾空行问题求助
Laravel 8.x Blade @import 保留导入模板末尾空行的解决方法
针对你在Laravel 8.x中使用PhiloNL Laravel-Blade辅助类开发纯文本邮件模板时,@import导入的模板末尾空行丢失的问题,以下是几个可靠的解决办法:
方法一:强制输出换行指令
在需要保留末尾空行的模板(如header.blade.php、footer.blade.php)末尾,直接添加{!! "\n" !!}代码。Blade会解析并输出真实的换行符,不会被编译过滤。
修改后的header.blade.php示例:
Our Amazing Store dot Com {!! "\n" !!}
修改后的footer.blade.php示例:
Thank you for shopping with us {!! "\n" !!}
如果需要多行空行,重复添加{!! "\n" !!}即可,这个方法比注释加空行更稳定,不会出现部分模板生效、部分无效的情况。
方法二:原生PHP输出换行
如果上述方法存在兼容问题,也可以用原生PHP代码直接输出换行:
Our Amazing Store dot Com <?php echo "\n"; ?>
原理和方法一一致,都是绕开Blade的空白字符优化,直接输出未被过滤的换行符。
为什么注释加空行有时无效?
Blade编译模板时会对注释及周围空白字符做优化处理,不同模板的编译逻辑可能存在差异,导致注释后的空行被过滤。直接输出换行指令能避开这个优化,因此更可靠。
内容的提问来源于stack exchange,提问作者Neek
相关产品推荐
相关产品推荐

