【发布时间】:2016-02-16 09:10:50
【问题描述】:
每当我运行此代码时,我都会收到未定义变量 $d 的错误,所以我注意到我必须将变量从控制器传递到视图。我是 MVC 的新手,因此如果有人帮助我解决这个问题,我将不胜感激。
这是我目前的实现: **
控制器
**
class ControllerModuleGetstoreproducts extends Controller{
public function index() {
$object = new ModelGetstoreproducts();
$d = $object->fetch();
require_once "getstoreproducts.php";
}
function returndata(){
$this->db->select("count(*)");
$this->db->from("oc_product");
$query = $this->db->get();
return $query->result();
}
}
型号
<?php
class ModelGetstoreproducts{
function fetch(){
$sql = 'SELECT count(*) FROM oc_product';
$req = @mysql_query($sql);
return @mysql_fetch_object($req);
//return $req;
}
}
?>
查看
<p>The total is <?php var_dump($d) ?></p>
【问题讨论】:
-
是
getstoreproducts.php您的视图文件吗? -
@RST 实际上是 getstoreproducts.tpl 而不是 .php .. 是的,这就是视图文件
-
你完全确定这个模板是从这个控制器中包含的,而不是从其他地方包含的?
-
@SergeyVidusov 是的,我确定。
-
不要使用 mysql ......它在 5.5 中已弃用,当然也不要使用 @ 来压缩......而且这个问题与 MVC 无关......你只是在问如何将变量传递给模板文件,作为默认配置,我认为
.tpl不会被解释为 php 文件,从而呈现变量和正确的输出。尝试将您的模板文件命名为.php
标签: php post model-view-controller opencart