首页 > 解决方案 > OpenCart - 无法在 MVC 之间传递数据

问题描述

我试图通过产品控制器从数据库中传递一些数据,最后在产品视图中传递。问题是我尝试了许多不同的情况,但没有任何效果。简而言之,我想将客户的区域 ID 从 oc_address 表中检索到变量 $zone 上的产品页面中。

目录\型号\目录\product.php(型号)

public function getZoneFromCustomer()
{
 $zone = array();
 $this->db->query("SELECT zone_id FROM " . DB_PREFIX . "address WHERE address_id = '". (int)$this->customer->getAddressId() ."'");
     
foreach ($query->rows as $result) {
        $zone = $result['zone_id'];
}

return $zone;
}

目录\控制器\产品\product.php(控制器)

$data['zone'] = $this->model_catalog_product->getZoneFromCustomer();

目录\视图\主题\默认\模板\产品\product.tpl(查看)

if(isset($zone))
{
   echo $zone; 
}

OpenCart 版本:2.0.3.1

Notice: Undefined variable: zone in ...

标签: phpmodel-view-controlleropencart2.x

解决方案


我找到了解决方案。Opencart 将修改文件的副本保存到系统文件夹中名为“修改”的文件夹中,并覆盖默认代码。如果您从那里删除这些文件,则会恢复正常。


推荐阅读