OCMOD没有正确替换线路

时间:2014-12-23 18:20:03

标签: php opencart2.x

我想用OCMOD替换线

我使用以下代码替换文件中的行 admin / model / sale / customer.php

<file path="admin/model/sale/customer.php" error="log">
        <operation>
            <search><![CDATA[ $this->load->model('setting/store'); ]]></search>
            <add position="before"><![CDATA[ 
                if($this->isFront==true) {
                    $this->load->adminmodel('setting/store');
                } else {
                    $this->load->model('setting/store');
                }
            ]]></add>
        </operation>
    </file>

搜索行$this->load->model('setting/store');在文件中重复三次。

问题是,当我使用上面的代码时,它会意外地替换该行。它将代码添加到函数附近,导致修改时出现语法错误。替换后的示例:

.....
.....
    public function addReward($customer_id,  
                if($this->isFront==true) {
                    $this->load->adminmodel('setting/store');
                } else {
                    $this->load->model('setting/store');
                }
            $this->load->model('setting/store');der_id = 0) {
        $customer_info = $this->getCustomer($customer_id);

        if ($customer_info) {
            $this->db->query("INSERT INTO " . DB_PREFIX . "customer_reward SET customer_id = '" . (int)$customer_id . "', order_id = '" . (int)$order_id . "', points = '" . (int)$points . "', description = '" . $this->db->escape($description) . "', date_added = NOW()");

            $this->load->language('mail/customer');
.....
.....

正确更换它的解决方案是什么?如果解决方案仅替换 addReward 功能,我不介意。另外,我在之前,之后,替换和正则表达式都很好。

我想这可能是OCMOD的问题。

1 个答案:

答案 0 :(得分:0)

首先使用

<search index="0">

首次比赛

<search index="1">

第二场比赛

<search index="2">

第三局 ...

似乎您从其他修改中遇到冲突,因此可以在以下步骤中调试ocmod:

  • 转到“修改” >>点击:日志:然后点击清除按钮
  • 单击刷新,然后按代码和文件搜索您的修改