如果搜索不存在,Vqmod仅进行更改

时间:2012-06-10 06:24:42

标签: php opencart

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>

还有什么方法可以优先考虑一个vqmod而不是另一个vqmod。我之前需要2个vqmod文件才能获得vqmod的代码吗?

1 个答案:

答案 0 :(得分:1)

如果方法不存在,则无法添加。诀窍是“劫持”原件,或重命名原件。至于优先级,它们会被解析为a到z,所以如果你想首先应用它,将其命名为按字母顺序排在另一个之前,或者只是将aaa添加到名称