OpenCart OCMOD 和 VQMOD 修改系统
OpenCart OCMOD and VQMOD Modification Systems
我是 OpenCart OCMOD 和 VQMOD 系统的新手。所以我需要一些帮助。我的问题是。
据说OCMOD是OC2+的默认系统。也有人说我们必须自己编写我们的 OCMOD。这是什么意思?如果OCMOD自带OC2+。那为什么要自己写呢?如果 OCMOD 是 OC+2 的默认部分。那我们在OC 3.0.2.0哪里可以找到呢?
如何在不影响核心文件的情况下使用OCMOD修改OpenCart?
如何在安装新的 OCMOD.zip 或 OCMOD.xml 和 VQMOD.zip 或 [=37= 后,在不安装 OCMOD 或 VQMOD 的情况下删除已在 OpenCart 核心文件中所做的更改] 而不删除该更改的影响。
如何使用OCMOD或VQMOD恢复升级版OpenCart中所做的更改?
如果安装新的OCMOD或VQMOD,是否会删除OpenCart核心文件中已经进行的所有更改?
我们第一次谈论 。这次我将描述OCMOD的工作经验(VQMOD的工作原理大同小异,已经过时了,所以我就省略了)。 OCMOD 本身是一个引擎(自 2.X 以来就内置在 OpenCart 中)。我们需要在这个引擎中放置一个指令来让它工作。说明文件采用 XML 格式并具有特定名称,例如 my_file.ocmod.xml,其中 .ocmod.xml结尾是必需的。
这里是一个OCMOD文件的例子
<?xml version="1.0" encoding="utf-8"?>
<modification>
<name>My OCMOD file</name>
<code>my-ocmod</code>
<version>1.0</version>
<author>Me</author>
<link>http://mywebsite.com</link>
<file path="catalog/view/theme/default/template/common/header.twig">
<operation>
<search><![CDATA[<div id="top-links" class="nav pull-right">]]></search>
<add position="before"><![CDATA[
<div>Add Something</div>
]]></add>
</operation>
</file>
<file path="catalog/controller/common/header.php">
<operation>
<search><![CDATA[$data['name'] = $this->config->get('config_name');]]></search>
<add position="replace"><![CDATA[
$data['name'] = $this->config->get('config_name') . $this->document->getDescription();
]]></add>
</operation>
</file>
</modification>
这里我们在 2 个不同的文件中有 2 个指令(操作)(我们也可以在单个文件中实现多个操作)。在 operation 中,我们在原始核心文件中搜索一行代码,并添加 before/after 或将其替换为 add
标签中的代码。这是 OCMOD file documentation,可能有助于 。ocmod.xml 文件构建。
当您有 .ocmod.xml 文件时 - 您需要安装它。有两种不同的方法:
- 在 /system 文件夹和 clear cache.
中插入文件
- 在管理面板的 Extension - Installer 中安装您的 .ocmod.xml 文件和 clear cache。这种情况比较好处理。您可以在 Extension - Extension 中找到您的 OCMOD 文件。这些不是 文件 ,而是一个数据库条目。要在安装后编辑它们,您可能需要 OCMOD 编辑器.
在某些情况下,您可以看到 .ocmod.zip 存档 install.xml 和 上传 文件夹。它可能是带有 OCMOD 文件和附加文件的模块,在单个安装程序中编译。
关于更改
现在,当我们安装了带有操作 .ocmod.xml 的文件并清除缓存时 - 系统会创建核心文件副本并将它们保存在 中/system/storage/modifications/...。如果我们从示例中获取代码 - 您会发现文件 /system/storage/modifications/catalog/view/theme/default/template/common/header.twig 已实施更改.ocmod.xml.
就是这样。 OCMOD 的工作原理就这么简单。一旦您安装了任何 .ocmod.xml 文件 - 此文件将保留在 OpenCart 中,并在每次缓存清理后执行操作。您在 .ocmod.xml 文件中进行了更改 - 清除缓存。安装新 .ocmod.xml - 清除缓存。删除了一些旧的 。ocmod.xml - 清除缓存。
升级 OpenCart 版本后 - OCMOD 文件可能保持不变。但是,如果它们消失了 - 只需重新安装它们(您应该将它们保存在某处之前)。
P.S。不同的 .ocmod.xml 文件会影响同一个核心文件。这绝对可以。
我是 OpenCart OCMOD 和 VQMOD 系统的新手。所以我需要一些帮助。我的问题是。
据说OCMOD是OC2+的默认系统。也有人说我们必须自己编写我们的 OCMOD。这是什么意思?如果OCMOD自带OC2+。那为什么要自己写呢?如果 OCMOD 是 OC+2 的默认部分。那我们在OC 3.0.2.0哪里可以找到呢?
如何在不影响核心文件的情况下使用OCMOD修改OpenCart?
如何在安装新的 OCMOD.zip 或 OCMOD.xml 和 VQMOD.zip 或 [=37= 后,在不安装 OCMOD 或 VQMOD 的情况下删除已在 OpenCart 核心文件中所做的更改] 而不删除该更改的影响。
如何使用OCMOD或VQMOD恢复升级版OpenCart中所做的更改?
如果安装新的OCMOD或VQMOD,是否会删除OpenCart核心文件中已经进行的所有更改?
我们第一次谈论
这里是一个OCMOD文件的例子
<?xml version="1.0" encoding="utf-8"?>
<modification>
<name>My OCMOD file</name>
<code>my-ocmod</code>
<version>1.0</version>
<author>Me</author>
<link>http://mywebsite.com</link>
<file path="catalog/view/theme/default/template/common/header.twig">
<operation>
<search><![CDATA[<div id="top-links" class="nav pull-right">]]></search>
<add position="before"><![CDATA[
<div>Add Something</div>
]]></add>
</operation>
</file>
<file path="catalog/controller/common/header.php">
<operation>
<search><![CDATA[$data['name'] = $this->config->get('config_name');]]></search>
<add position="replace"><![CDATA[
$data['name'] = $this->config->get('config_name') . $this->document->getDescription();
]]></add>
</operation>
</file>
</modification>
这里我们在 2 个不同的文件中有 2 个指令(操作)(我们也可以在单个文件中实现多个操作)。在 operation 中,我们在原始核心文件中搜索一行代码,并添加 before/after 或将其替换为 add
标签中的代码。这是 OCMOD file documentation,可能有助于 。ocmod.xml 文件构建。
当您有 .ocmod.xml 文件时 - 您需要安装它。有两种不同的方法:
- 在 /system 文件夹和 clear cache. 中插入文件
- 在管理面板的 Extension - Installer 中安装您的 .ocmod.xml 文件和 clear cache。这种情况比较好处理。您可以在 Extension - Extension 中找到您的 OCMOD 文件。这些不是 文件 ,而是一个数据库条目。要在安装后编辑它们,您可能需要 OCMOD 编辑器.
在某些情况下,您可以看到 .ocmod.zip 存档 install.xml 和 上传 文件夹。它可能是带有 OCMOD 文件和附加文件的模块,在单个安装程序中编译。
关于更改
现在,当我们安装了带有操作 .ocmod.xml 的文件并清除缓存时 - 系统会创建核心文件副本并将它们保存在 中/system/storage/modifications/...。如果我们从示例中获取代码 - 您会发现文件 /system/storage/modifications/catalog/view/theme/default/template/common/header.twig 已实施更改.ocmod.xml.
就是这样。 OCMOD 的工作原理就这么简单。一旦您安装了任何 .ocmod.xml 文件 - 此文件将保留在 OpenCart 中,并在每次缓存清理后执行操作。您在 .ocmod.xml 文件中进行了更改 - 清除缓存。安装新 .ocmod.xml - 清除缓存。删除了一些旧的 。ocmod.xml - 清除缓存。
升级 OpenCart 版本后 - OCMOD 文件可能保持不变。但是,如果它们消失了 - 只需重新安装它们(您应该将它们保存在某处之前)。
P.S。不同的 .ocmod.xml 文件会影响同一个核心文件。这绝对可以。