【问题标题】:Laravel blade template engine :cannot see html contents in pageLaravel 刀片模板引擎:在页面中看不到 html 内容
【发布时间】:2016-11-05 20:14:34
【问题描述】:

我正在尝试使用库方法将刀片模板引擎集成到 CodeIgniter 框架中。

这是我遵循的步骤

1.通过composer下载刀片模板引擎并复制到application/libraries文件夹。

2.在库文件夹中创建了一个名为Bladetemplate的类

Bladetemplate.php

defined('BASEPATH') OR exit('No direct script access allowed');

require_once dirname(__FILE__).'/blade/vendor/autoload.php';

use Philo\Blade\Blade;

    class Bladetemplate  {

        public function loadTemplate(){
            $views = APPPATH. '\views';
            $cache = APPPATH. '\cache';

           $blade = new Blade($views, $cache);
           return $blade;


        }
    }

3.在我的控制器文件中,我已经加载了库并调用函数loadTemplate进行刀片模板视图

public function index()
    {
        $this->load->library('Bladetemplate');
       //template object
        $obj=   $this->bladetemplate->loadTemplate();
        $obj->view()->make('test',array('data'=>'test'))->render(); 
    }

在我的applications/views 文件夹中存在名为test.blade.php 的文件

没有显示错误,但页面上没有显示任何内容(存在一些 HTML 内容)。

【问题讨论】:

  • 你不需要echo渲染吗?另外,您能否转储 $views 路径。除此之外我没有发现任何问题。

标签: php codeigniter laravel laravel-blade


【解决方案1】:

更改视图文件名以添加 .blade。就像您的视图文件 test.php 比使其成为 test.blade.php

而不是 $obj->view()->make('test',array('data'=>'test'))->render();

你需要使用 $obj->view()->make('test.blade',array('data'=>'test'))->render();

每当您使用刀片模板时,您都必须将视图渲染为刀片类型。所以,test.blade

我希望,它会工作。

如果没有,请告诉我。

【讨论】:

  • 不返回视图未找到异常
  • 好的。您是否将任何数据传递到视图中?可能就是这个原因,你一无所获。
  • 我在有数据和没有数据的情况下都试过,但在这两种情况下我都会得到空白页面
猜你喜欢
  • 2014-10-31
  • 2021-12-24
  • 1970-01-01
  • 2014-02-07
  • 2015-01-21
  • 2018-07-07
  • 2012-12-15
  • 2017-04-16
  • 2015-02-17
相关资源
最近更新 更多