Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel Blade@include.html文件 包括带有刀片的HTML文件_Html_Laravel_View_Include_Blade - Fatal编程技术网

Laravel Blade@include.html文件 包括带有刀片的HTML文件

Laravel Blade@include.html文件 包括带有刀片的HTML文件,html,laravel,view,include,blade,Html,Laravel,View,Include,Blade,我可以用一个.html文件代替Laravel 4 Blade的.php 我的代码: @include('emails.templates.file') //file is email.html 文件自动成为.php文件。如果是外部文件,请尝试以下操作: <?php include app_path() . '/views/<path_to_layout/emails>/file.html'; ?> 如果这仍然是一个问题,请告诉我。尽管@PHPWeblinein

我可以用一个
.html
文件代替Laravel 4 Blade的
.php

我的代码:

@include('emails.templates.file')
  //file is email.html

文件
自动成为
.php
文件。

如果是外部文件,请尝试以下操作:

<?php include app_path() . '/views/<path_to_layout/emails>/file.html'; ?>


如果这仍然是一个问题,请告诉我。

尽管@PHPWeblineindia的解决方案对您有效,但它并不是真正的Laravel方式

但是,通过告诉Laravel的视图系统也可以考虑<代码> .html < /Cord>文件。默认情况下,它查找
.blade.php
文件,然后返回到
.php
文件。通过在引导代码中添加以下内容,可以将
.html
添加到搜索的扩展:

// tells the view finder to look for `.html` files and run
// them through the normal PHP `include` process
View::addExtension('html', 'php');

这实际上将HTML作为最高优先级,因此请确保没有两个不同的视图使用不同的扩展名调用同一事物。

为什么需要这样做?从技术上讲,您已经在刀片模板中使用HTML。只要确保扩展名是.blade.php而不仅仅是.php,并且拼写为“include”right:)我必须在browserRight中包含默认电子邮件,但是这些默认电子邮件在php文件中显示得非常好。根据Weblineindia的回答,它不再是刀片式包含(违背了目的)的可能副本。您也可以将其添加到基本控制器以全局应用。是的,但我建议在应用程序引导代码(或服务提供商,这几乎是一样的)中使用而不是在一个基础控制器中以防万一。@alexrussell你所说的引导代码是什么意思?在Laravel中它会位于哪里?我对运行Laravel 5.2的Laravel还相当陌生,我已经尝试将
View::addExtension
添加到受保护方法
setupLayout()
中的BaseController中。结果是,当尝试使用include时,Laravel只返回
View[View.name]not found
where View.name具有
.html
扩展名。根据我最初回答的时间,它实际上更适合Laravel 4.2。然而,应用程序引导代码是一种通用代码——基本上是在大多数代码之前运行的任何代码。在L4.2中,标准(尽管很脏)方法是将其放入routes文件中。自L5以来,我们已经有了服务提供商,因此可能是AppServiceProvider,或者,理想情况下,是执行所需视图更改的新服务提供商。也就是说,我不知道原来的
View::addExtension()
调用是否仍然在L5中。@alexrussell感谢您的帮助。我将针对Laravel 5提出一个新问题,我认为
View::addExtension()
不再有效。