加载扩展名为.html的laravel视图

Mcg*_*978 8 laravel laravel-4

是否可以使Laravel加载带有.html扩展名的视图模板?

我正在重建现有的应用程序,该应用程序包含一堆由用户上传的.html文件.这是一种多租户应用程序,每个用户都可以通过上传模板来控制其区域的外观.

我需要重建应用程序并使更改对用户完全透明,因此我想保留.html扩展名.

Pet*_*nan 6

我找到的最好的方法是在你的基本控制器中使用View :: addExtension;

这是我的代码示例:

查看:: addExtension( 'blade.html', '刀');

class BaseController extends Controller {

    /**
     * Setup the layout used by the controller.
     *
     * @return void
     */
    protected function setupLayout()
    {

        // Allows us to use easy-to-edit html extension files.
        // You can set 2nd param to 'php' is you want to 
        // just process with php (no blade tags)
        View::addExtension('blade.html','blade');


        if ( ! is_null($this->layout))
        {
            $this->layout = View::make($this->layout);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


And*_*yco -3

恐怕 Blade 引擎仅加载.php.blade.php文件。

根据您的描述,我假设视图文件是静态的,因为它们只是 HTML。如果是这样,请在.php用户上传视图文件后将它们重命名 - 不应给您的应用程序带来性能影响,因为无论如何都没有什么需要处理的。

  • 我想我已经找到了解决方案,但我遇到了另一个障碍(改天再说)。解决方案是 View::addExtension('html', 'php') 这将导致 laravel 加载 html 文件并通过 php 运行它们。 (5认同)