页面特定产品模板 opencart 2.0.1.1

page specific product template opencart 2.0.1.1

我想使用 "location" 字段为 opencart 2.0.1.1 创建页面特定的模板文件。 我想知道这是否适用于 seo url's 我在 opencart 2.0.1.1

的 header.php 底部找到了这个

// 对于特定页面 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

花了很长时间但解决了这个问题这里是供其他人使用的代码"free"

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 的 VQ 模组添加 /product_*