0

在 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 优先于另一个。我之前需要 2 个 vqmod 文件来获得 vqmod 的代码吗?

4

1 回答 1

1

只有在方法不存在的情况下才能添加 no。诀窍是“劫持”原始文件或重命名它。至于优先级,它们会从 a 到 z 进行解析,因此如果您想先应用它,请将其命名为按字母顺序排列在另一个之前的名称,或者只是在名称前加上 aaa

于 2012-06-10T11:37:48.323 回答