Opencart / OCmod - 搜索一行或另一行代码
Opencart / OCmod - Search for one OR another line of code
我正在使用 OCmod 对 Opencart 进行修改。最初,我开始为 Opencart 2 编写它(它实际上已经完成并正在运行)。现在,我正在为 OC3 升级它。
这是一个简单的错误示例。
之前,我为 OC2 写了这个:
<operation>
<search><![CDATA[
'status' => ($result['status']) ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
]]></search>
<add position="replace"><![CDATA[
'status' => ($result['status']),
]]></add>
</operation>
问题是:从OC3开始,这部分代码:
'status' => ($result['status']) ...
已更改为:
'status' => $result['status'] ...
所以会找不到线,不会进行替换
因此,如果我想发布我对两个版本的修改,我将不得不发布我的修改的两个不同版本。
我想知道是否有一种方法可以告诉 OCmod 搜索两行中的一行,然后更改它找到的那一行。那样的话,我可以只有一个代码适用于两个版本。
我已经尝试复制那段代码,让它查找两行,但我的修改停止工作,因为找不到其中一行。
关于如何解决这个问题有什么想法吗?
已解决
事实证明,OCmod 允许您 select 只是一段代码,而不仅仅是整行。
因为我只需要删除该行的最后一部分,所以我这样做了:
<operation>
<search><![CDATA[
? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
]]></search>
<add position="replace"><![CDATA[
,
]]></add>
</operation>
此外,如果对任何人有帮助,让OCmod 查找不存在的文件不会导致错误。
这很有帮助,因为文件“product_list.tpl”在 Opencart 3 中已重命名为“product_list.twig”。因此,在我的 install.xml 文件,我能够为这两个文件编写修改,即使根据 OpenCart 版本找不到其中一个文件。
我正在使用 OCmod 对 Opencart 进行修改。最初,我开始为 Opencart 2 编写它(它实际上已经完成并正在运行)。现在,我正在为 OC3 升级它。
这是一个简单的错误示例。
之前,我为 OC2 写了这个:
<operation>
<search><![CDATA[
'status' => ($result['status']) ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
]]></search>
<add position="replace"><![CDATA[
'status' => ($result['status']),
]]></add>
</operation>
问题是:从OC3开始,这部分代码:
'status' => ($result['status']) ...
已更改为:
'status' => $result['status'] ...
所以会找不到线,不会进行替换
因此,如果我想发布我对两个版本的修改,我将不得不发布我的修改的两个不同版本。
我想知道是否有一种方法可以告诉 OCmod 搜索两行中的一行,然后更改它找到的那一行。那样的话,我可以只有一个代码适用于两个版本。
我已经尝试复制那段代码,让它查找两行,但我的修改停止工作,因为找不到其中一行。
关于如何解决这个问题有什么想法吗?
已解决
事实证明,OCmod 允许您 select 只是一段代码,而不仅仅是整行。 因为我只需要删除该行的最后一部分,所以我这样做了:
<operation>
<search><![CDATA[
? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
]]></search>
<add position="replace"><![CDATA[
,
]]></add>
</operation>
此外,如果对任何人有帮助,让OCmod 查找不存在的文件不会导致错误。 这很有帮助,因为文件“product_list.tpl”在 Opencart 3 中已重命名为“product_list.twig”。因此,在我的 install.xml 文件,我能够为这两个文件编写修改,即使根据 OpenCart 版本找不到其中一个文件。