Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.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
Php Vqmod仅在搜索不进行时进行更改';不存在_Php_Opencart - Fatal编程技术网

Php Vqmod仅在搜索不进行时进行更改';不存在

Php Vqmod仅在搜索不进行时进行更改';不存在,php,opencart,Php,Opencart,在vQmod中可以检查类中是否存在方法。只有当它不存在时,它才会做出改变 例如,目前我有一个简单的vqmod,它引起了另一个扩展的问题,该扩展也进行了相同的更改,并导致了复制方法错误 <file name="catalog/model/tool/image.php"> <operation> <search position="after"><![CDATA[ class ModelToolImage ex

在vQmod中可以检查类中是否存在方法。只有当它不存在时,它才会做出改变

例如,目前我有一个简单的vqmod,它引起了另一个扩展的问题,该扩展也进行了相同的更改,并导致了复制方法错误

<file name="catalog/model/tool/image.php">
    <operation>
        <search position="after"><![CDATA[
            class ModelToolImage extends Model {
        ]]></search>
        <add><![CDATA[
            public function get($filename) {
                if (!file_exists(DIR_IMAGE . $filename) || !is_file(DIR_IMAGE . $filename)) {
                    return;
                } 

                if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
                    return HTTPS_IMAGE . $filename;
                } else {
                    return HTTP_IMAGE . $filename;
                }   
            }
        ]]></add>
    </operation>
</file>

请求->服务器['HTTPS']&($this->request->server['HTTPS']='on')| |($this->request->server['HTTPS']='1')){
返回HTTPS_图像。$filename;
}否则{
返回HTTP_映像。$filename;
}   
}
]]>

还有什么方法可以让一个vqmod优先于另一个。我需要2个vqmod文件来保存之前的vqmod代码?

仅当方法不存在时才可以添加。不。诀窍是“劫持”原始文件,或重命名它。至于优先级,它们被解析为a到z,因此如果您希望首先应用它,请按字母顺序将其命名为其他名称之前的名称,或者只是在名称前面加上aaa

是否有简单的方法将此功能添加到vqmod类中?我不喜欢依赖另一个扩展名的名称总是出现在我的扩展名之前。这将导致人们重新命名文件等太多问题。我想这也可以用来解决问题:注意,旧系统上可能不存在附属库文件。很不幸,检查优先顺序只会减慢处理速度,因此目前没有计划在vQmod中添加类似的内容,特别是当你可以使用命名的时候。如果某个东西的名字也使用zzz,那么want的执行很可能是最后一个-在这一点上,如果他们都在为itOk而战,即使是优先顺序也没有用。我理解为什么现在,我没想到这会影响性能。是的,任何形式的排序都会影响性能,不过,这取决于项目的数量和排序算法的复杂度,而差异究竟有多大