我想使用“location”字段为opencart 2.0.1.1创建特定于页面的模板文件。 我想知道这可以与seo url一起使用 我在header.php的底部找到了opencart 2.0.1.1
//针对特定页面的css
if (isset($this->request->get['route'])) {
if (isset($this->request->get['product_id'])) {
$class = '-' . $this->request->get['product_id'];
} elseif (isset($this->request->get['path'])) {
$class = '-' . $this->request->get['path'];
} elseif (isset($this->request->get['manufacturer_id'])) {
$class = '-' . $this->request->get['manufacturer_id'];
} else {
$class = '';
}
$data['class'] = str_replace('/', '-', $this->request->get['route']) . $class;
} else {
$data['class'] = 'common-home';
}
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/header.tpl')) {
return $this->load->view($this->config->get('config_template') . '/template/common/header.tpl', $data);
} else {
return $this->load->view('default/template/common/header.tpl', $data);
}
我认为这只是页面特定css的代码结构,我只想更改页面特定的.tpl文件。 我想用开关控制方法, 我将为不同的产品使用至少5个模板。 下面这个例子来自opencart 1.5x。会是完美的
OpenCart - View alternate product template based on arbitrary product field
答案 0 :(得分:0)
花了很长时间,但解决这个问题的是其他人使用“免费”的代码
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/product_'.$product_id.'.tpl')) {
$this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/product/product_'.$product_id.'.tpl', $data));
} elseif (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/product.tpl')) {
$this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/product/product.tpl', $data));
} else {
$this->response->setOutput($this->load->view('default/template/product/product.tpl', $data));
}
/ *说明: 1.代码将根据ID搜索特定模板。例如:product_18.tpl。 2.如果特定模板不可用,Opencart将使用活动主题的通用模板(product.tpl)。 3.如果特定主题的模板不可用,Opencart将使用默认主题的模板。 * /
对于使用产品tpl add / product _ *
的VQ mod