Php Vqmod仅在搜索不进行时进行更改';不存在
在vQmod中可以检查类中是否存在方法。只有当它不存在时,它才会做出改变 例如,目前我有一个简单的vqmod,它引起了另一个扩展的问题,该扩展也进行了相同的更改,并导致了复制方法错误Php Vqmod仅在搜索不进行时进行更改';不存在,php,opencart,Php,Opencart,在vQmod中可以检查类中是否存在方法。只有当它不存在时,它才会做出改变 例如,目前我有一个简单的vqmod,它引起了另一个扩展的问题,该扩展也进行了相同的更改,并导致了复制方法错误 <file name="catalog/model/tool/image.php"> <operation> <search position="after"><![CDATA[ class ModelToolImage ex
<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而战,即使是优先顺序也没有用。我理解为什么现在,我没想到这会影响性能。是的,任何形式的排序都会影响性能,不过,这取决于项目的数量和排序算法的复杂度,而差异究竟有多大