OpenCart 2中的新修改系统

任何开源框架的成功都取决于某些因素,而可扩展性是其中的重要因素之一。 它使社区可以添加新功能并丰富其核心功能,从而产生非常强大的最终产品。 当然,这也是开发自定义扩展的必备功能。

在本文中,我们将看到如何通过实现基于XML的OCMOD扩展来更改OpenCart框架的核心文件。 它的许多功能是从其前身vQmod系统中借用的。 实际上,它是一个简单得多的系统,与vQmod相比,提供的功能更少。 话虽如此,它涵盖了所有重要的替换模式。

OCMOD系统是基于XML的搜索和替换系统。 您按照OCMOD的约定定义XML文件,其余的工作将由XML文件完成。 因此,我们可以说您可以更改核心框架中的任何文件!

让我们列出几个示例,以了解其功能:

  • 在文件中的任何特定行之前插入一段代码。
  • 用您的自定义代码块替换代码块。
  • 使用regexp在文件中找到一个字符串,然后将其替换为另一个字符串。
  • 更改OpenCart数据库的架构。
  • 还有很多...

如您所见,这是您可以使用OCMOD进行的大量操作的列表。 另外,强烈建议不要使用它来直接修改核心文件,而是使用它。

在下一节中,我们将继续创建一个简单的OCMOD模块以进行演示。 我假设您使用的是最新版本的OpenCart。

OCMOD如何工作

您可以通过两种不同的方式创建和安装OCMOD扩展。 您需要构建一个扩展名为“ .ocmod.zip”的zip文件,或者另一种方法是仅创建一个扩展名为“ .ocmod.xml”的XML文件。

压缩文件选项

zip文件的选项还允许您包含其他几个文件,因此您还可以执行其他操作,例如更改数据库架构,将新文件/目录上传到OpenCart安装等。让我们看看哪些选项可用使用OCMOD扩展的zip版本时。

  • upload:此目录下的内容将原样复制到OpenCart根目录。
  • install.sql:在此文件中,您可以包括SQL查询以更改数据库。
  • install.php:在此文件中,您可以包括定制代码,而修改代码需要该PHP代码。
  • install.xml:这是最重要的文件,其中包含XML修改代码。

当然,创建上面列出的每个文件/目录不是强制性的,但是必须创建install.xml文件以确保可以安装OCMOD扩展名。

XML文件选项

这是创建OCMOD扩展名的一种简单得多的方法-您只需要创建一个扩展名为“ .ocmod.xml”的XML文件即可。 我们可以说它与install.xml文件相同,并且包含我们在上一节中讨论过的XML修改代码。

为简单起见,我们将使用后面的选项,并在下一部分中创建OCMOD扩展。

创建OCMOD模块文件

作为开发人员,您经常会被安排去改变核心文件。 因此,我们将以一个真实的示例来说明如何使用OCMOD扩展来解决此问题。

假设您要更改标题在产品详细信息页面上的显示方式。 以下代码负责为产品详细信息页面分配正确的标题。 您可以在catalog/controller/product/product.php的文件中找到它。

$data['heading_title'] = $product_info['name'];

您想要这样的东西:

$data['heading_title'] = strtoupper($product_info['name']);

让我们看看如何使用OCMOD扩展来实现这一目标。 创建具有以下内容的product_title.ocmod.xml文件。

<?xml version="1.0" encoding="utf-8"?>
<modification>
    <name>Product Title Modification</name>
    <code>Code_Tutsplus_Product_Title</code>
    <version>1.0</version>
    <author>Code Tutsplus</author>
    <link>http://code.tutsplus.com</link>
    <file path="catalog/controller/product/product.php">
        <operation>
            <search><![CDATA[
            $data['heading_title'] = $product_info['name'];
            ]]></search>
            <add position="replace"><![CDATA[
            $data['heading_title'] = strtoupper($product_info['name']);
            ]]></add>
        </operation>
    </file>  
</modification>

如您所见,大多数标签是不言自明的。 最重要的标记是<file> ,它定义将在其上执行操作的文件名。 <search>标记用于搜索我们要查找的代码,最后我们使用<add>标记注入代码。

从后端安装模块

现在,我们已经完成了修改文件,让我们看看如何从OpenCart后端安装它。 转至后端,然后导航至Extensions> Extension Installer 。 单击上按钮,然后选择我们在上一节中创建的文件。 如果一切顺利,您应该会看到一条成功消息。

导航到Extensions> Modifications ,您应该会在该页面上看到OCMOD扩展名。

修改清单页面

这意味着您已经成功安装了扩展! 现在,只需单击右上方的刷新图标,OpenCart就会检测到它,并准备将其应用于前端。

在下一节中,我们将浏览前端,以了解它是否适​​当地应用于了产品详细信息页面。

前端测试

转到前端,然后导航到任何产品详细信息页面。 您应该可以看到产品标题现在大写了。

前端演示

尽管这是演示OCMOD强大功能的非常简单的示例,但是您可以使用此实用程序做更多的事情,并在需要时更改核心文件。

结论

今天,我们讨论了OpenCart 2中的新修改系统,并通过了整个过程来演示如何使用它来更改OpenCart的核心文件。 随时发布您的查询!

翻译自: https://code.tutsplus.com/tutorials/the-new-modification-system-in-opencart-2--cms-25547

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值