我想在opencart中选择产品时,将尺寸图表设为选项卡。为此,我有一个如下的模型
class ModelCatalogSizes extends Model {
public function getSizes()
{
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "sizes ORDER BY id");
return $query->rows;
}
}
我有一个视图作为模板,它只是一个带有值作为输入无线电选项的html表。
在我的产品控制器类中,我有一个类似下面的功能
public function sizes()
{
$this->language->load('product/product');
$this->load->model('catalog/sizes');
$this->data['sizes'] = array();
$results = $this->model_catalog_sizes->getSizes();
foreach ($results as $result) {
$this->data['sizes'][] = array(
'type' => ucfirst($result['type']),
'coat' => $result['coat'],
'chest' => $result['chest'],
'cverarm' => $result['overarm'],
'waist' => $result['waist'],
'hip' => $result['hip'],
'inseam' => $result['inseam'],
'neck' => $result['neck'],
'sleeve' => $result['sleeve'],
'height' => $result['height'],
'weightLb' => $result['weightLb'],
'weightKg' => $result['weightKg'],
);
}
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/sizes.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/sizes.tpl';
} else {
$this->template = 'default/template/product/sizes.tpl';
}
$this->response->setOutput($this->render());
}
现在我试图通过说$this->data['size'] = $this->sizes();
当我在产品视图中回显我的$ size时,什么都没有出现。我认为上面函数中构建的整个视图应该显示出来。我错了(概率99%)?有人可以帮我直接通过功能发布视图吗?
答案 0 :(得分:1)
您需要做的是为index()
方法的子项添加路由
打开/catalog/controller/product/product.php
并在index()
方法
$this->children = array(
'common/column_left',
'common/column_right',
'common/content_top',
'common/content_bottom',
'common/footer',
'common/header'
);
并添加您的路线,'product/product/sizes'
方法
sizes()
$this->children = array(
'common/column_left',
'common/column_right',
'common/content_top',
'common/content_bottom',
'common/footer',
'common/header',
'product/product/sizes'
);
然后在您的模板中,您只需要在任何您想要的地方使用<?php echo $sizes; ?>