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を別のvqmodよりも優先する方法はありますか。以前のvqmodのコードに2つのvqmodファイルが必要ですか?

4

1 に答える 1

1

メソッドが存在しない場合にのみ追加することはできません。秘訣は、オリジナルを「ハイジャック」するか、名前を変更することです。優先順位については、aからzに解析されるため、最初に適用する場合は、アルファベット順に他の名前の前に付けるか、名前の前にaaaを追加します。

于 2012-06-10T11:37:48.323 に答える