OpenCart技巧

URL配置

配置Store URL:修改config.php
配置管理URL:修改admin/config.php

支付方式配置

如报错:

Warning: No Payment options are available. Please contact us for assistance!

解决方案:

1、在 Extensions -> Payments -> 使能 Cash On DeliveryFree Checkout
2、添加一个商品

OpenCart手动安装插件

vQmod (全称 Virtual Quick Mod),是 OpenCart 系统上一个可以以虚拟方式修改原文件内容而设计的一个插件系统。

OpenCart Export/Import Tool:https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=17

1、FTP上传admin和system对应目录
2、根据 install.xml 修改相应文件内容(vQmod语法)
3、修改权限:System -> Users -> User Groups,修改 Administrator 权限,在 Access PermissionModify Permission 中勾选 extension/export_import

注:如果是FTP工具上传的,按照install.xml内容手工替换相应代码;OCMOD方式管理后台上传的直接刷新扩展不需要手工替换代码

插件配置数据库

表:oc_setting

Twig模板引擎

Twig模板引擎缓存:后台首页右上角有个“设置”图标,在“Component”为“Theme”行,在“Action”下点击“刷新”图标

tpl模板转twig模板:打开NotePad++搜索和替换,开启正则表达式模式

搜索:<\?php\secho\s\$(.*?);.*?>
替换:{% raw %}{{ $1 }}{% endraw %}

路由及Controller

catalog/controller/common/home.php

class ControllerCommonHome extends Controller {
  ...
}

访问:http://www.xxx.com/index.php?route=common/home

外部访问路由

外部请求路由不管是GET还是POST方式是获取不到客户登陆信息的,session也是独立的

//file_put_contents("/data/www/opencart/log.txt", 'customer_id: ' . $this->customer->getId() . "\n", FILE_APPEND);
echo 'customer_id: ' . $this->customer->getId();
echo 'session_id: ' . $this->session->getId();

网页站内请求结果:

customer_id: 1
session_id: ac13f95b26e9fa0717393c37e3

外部请求结果:

customer_id: 
session_id: 5f97bda23f24d1d629ce35b7d1
上一篇 PHPMailer解决OpenCart发送邮件不成功
下一篇 OpenCart开发总结
目录
文章列表
1 Android多渠道打包之动态修改App名称,图标,applicationId,版本号,添加资源
Android多渠道打包之动态修改App名称,图标,applicationId,版本号,添加资源
2
Magento 2.3 安装及开发记录
Magento 2.3 安装及开发记录
3
Taro基础教程之React
Taro基础教程之React
4
阿里巴巴Canal Server搭建
阿里巴巴Canal Server搭建
5
Spring Boot 中 JPA 的使用
Spring Boot 中 JPA 的使用
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。