我正在尝试在Opencart 1.5.4中设置其他页面和类别布局。
我已进入一个阶段,如果我将新类别的路线输入地址栏,新模板会显示我想要的,但我似乎无法在OC中注册该路线更改。< / p>
如果我在.htaccess文件中指定了更改,则新模板会按预期加载,但我不是这个问题的正确答案(尽管它有效)。
除了.htaccess(我确定不正确的方法)
RewriteRule ^skis$ index.php?route=product/categories&path=1 [L,QSA]
我创建了两个新文件
/catalog/view/theme/default/template/product/categories.tpl
/catalog/controller/product/categories.php
在/catalog/controller/product/categories.php中,我更改了内容以反映新的tpl文件;
class Controllerproductcategories extends Controller {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/categories.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/categories.tpl';
} else {
$this->template = 'default/template/product/categories.tpl';
}
总结
任何人都有任何想法我可能会尝试使其正常工作?我有大量的模板可以为产品,类别和信息页面创建,所以我们想要正确地做到这一点。
提前Tx
斯图
答案 0 :(得分:5)
我最终选择了这种方法..可能会帮助别人。
if ($this->data['heading_title'] == "Skis") {
$this->template = $this->config->get('config_template') . '/template/product/categories.tpl';
} elseif ($this->data['heading_title'] == "Softgoods") {
$this->template = $this->config->get('config_template') . '/template/product/category.tpl';
} elseif ($this->data['heading_title'] == "Outlet Store") {
$this->template = $this->config->get('config_template') . '/template/product/category.tpl';
} else {
$this->template = $this->config->get('config_template') . '/template/product/category.tpl';
}
答案 1 :(得分:2)
从我所看到的,你正在尝试对每个单独的模板进行硬编码,而这并不是按照你选择的方式使用该类别的布局。布局旨在在页面上排列内容而不是指定模板
我实际上创建了一个商业版本,您可以找到here。它允许您创建模板并将其分配给一个或多个页面。它适用于产品,类别,制造商和信息页面。它还允许您为整个类别或制造商指定产品的模板