Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenCart中的VQMod偏移问题_Opencart_Vqmod - Fatal编程技术网

OpenCart中的VQMod偏移问题

OpenCart中的VQMod偏移问题,opencart,vqmod,Opencart,Vqmod,我试图用自己编写的自定义代码替换模型上的一段代码 这是代码。我工作,但它留下了很多补偿。 也许有更好的办法 <operation info="Example of the vQmod"> <search position="replace" offset="3"><![CDATA[ Some code I want to Replace Some code I want to Replace Some code I want to Replace ]]><

我试图用自己编写的自定义代码替换模型上的一段代码

这是代码。我工作,但它留下了很多补偿。 也许有更好的办法

<operation info="Example of the vQmod">
<search position="replace" offset="3"><![CDATA[
Some code I want to Replace
Some code I want to Replace
Some code I want to Replace
]]></search>
<add><![CDATA[
Replaced Code
Replaced Code
Replaced Code
]]></add>
</operation>


Vqmods偏移值用于替换一行和以下x行,但搜索仅用于一行。Vqmod与搜索中的多行不匹配

例如:

输入

 public function index() {
        $a = rand();
        $b = rand();
        if ($a == $b) {
            echo 'oh noes';
            return false;
        }
    }
脚本


注意:仍有7个空行。偏移量从输入中清除额外的7行代码,但替换的代码被添加到初始行的位置。因此,在新代码之后将有7个额外的空格,但这不会影响代码功能,只会影响vqcache文件的外观,这并不重要。

在Opencart中,您无法搜索多行代码并用新的多行代码替换它。它只能搜索一行代码,然后用一行或多行代码替换或添加

偏移是搜索一行代码,然后偏移下面的行数,然后替换或添加新编码。大概是这样的:

   <operation info="Example of the vQmod">
    <search position="replace" offset="3"><![CDATA[
    code I want to Replace at offset line 3
    ]]></search>
    <add><![CDATA[
    Replaced Code
    add code
    add code
    ]]></add>
    </operation>

Vqmods偏移值用于替换一行和以下x行,但搜索仅针对一行。Vqmod不匹配多行。
 public function index($arr = array()) {
        foreach ($arr as $a) {
            echo $a;
            }
    }
   <operation info="Example of the vQmod">
    <search position="replace" offset="3"><![CDATA[
    code I want to Replace at offset line 3
    ]]></search>
    <add><![CDATA[
    Replaced Code
    add code
    add code
    ]]></add>
    </operation>