我的opencart上只有一个产品,我希望这个产品只出现在主页上,这样客户就不会再去任何页面购买产品了。如何将此产品设置为默认主页?或者我如何使url默认为该产品的url?我在用露天艺术。我试过覆盖产品的布局,但没有成功。"Opencart管理>产品>产品页面>布局选项卡>覆盖(主页)"。
这两种方法都需要编辑/catalog/controller/common/home.php
并将代码放在public function index() {
行之后,将123更改为产品id
v1.5.x
$this->redirect($this->url->link('product/product', 'product_id=123'));
v2.x+v3.x
$this->response->redirect($this->url->link('product/product', 'product_id=123'));
如果您想显示主页URL并显示产品,您可以编辑/index.php
文件并添加以下代码
if (!isset($request->get['route']) || $request->get['route'] == 'common/home') {
$request->get['route'] = 'product/product';
$request->get['product_id'] = 1;
}
将其添加到代码下方
// SEO URL's
$controller->addPreAction(new Action('common/seo_url'));
您需要将product_id更改为产品的id。例如$request->get['product_id'] = 12;
在重定向特定产品页面的情况下,将其作为主页是很好的,但在更改产品时需要更改重定向URL。。。
很简单->>>>>>$this->redirect($this-->url->link('product/product','product_id=123'));
但只需在主页中使用特色类别。。。
模块->特色->限制&使可能
产品->编辑(特定产品)->特殊->离开价格字段并确定开始日期和结束日期。。。
系统->设计->布局->主页->编辑->在内容中添加特色模块最高优先级1
OpenCart 2.3
后的文件目录/controller/startment/seo_url.php
// Add rewrite to url class
if ($this->config->get('config_seo_url')) {
$this->url->addRewrite($this);
}
插入
if ( !isset($this->request->get['_route_']) && !isset($this->request->get['route'])) {
$this->request->get['route'] = 'product/product';
$this->request->get['product_id'] = 42;
}
if ( isset($this->request->get['route']) && $this->request->get['route'] == 'common/home' ){
$this->request->get['route'] = 'product/product';
$this->request->get['product_id'] = 42;
}
您需要将product_id更改为产品的id。例如$this->request->get['product_id'] = 102;