php - 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 ...
解决方案
我找到了解决方案。Opencart 将修改文件的副本保存到系统文件夹中名为“修改”的文件夹中,并覆盖默认代码。如果您从那里删除这些文件,则会恢复正常。
推荐阅读
- java - 使用 Sonarcloud API 搜索问题即使存在也不返回
- azure - 如何删除已发布的 Azure CDN 规则引擎
- qa - 如何跟踪数据库更改
- asp.net - 速率限制身份服务器 4 令牌端点
- ios - 删除字符串中特定字符之后的所有字符
- java - 在 java 中使用 SuppressWarnings
- r - 如何在 Rstudio 中使用面板数据制作分层随机样本?
- ios - Apple Push Notification 服务必须包含新的根证书 (AAACertificateServices) - APNS 证书更新
- python - Python:如何访问从属列?
- jmeter - 无法解决 Jmeter 中的内部服务器错误(500 响应代码)