Возможно ли в vQmod проверять, существует ли метод в классе. Только если он не существует, он внесет изменения.Vqmod только внести изменения, если поиск не существует
Например, на данный момент у меня есть простой vqmod, который вызывает проблемы с другим расширением, которое также вносит одинаковые изменения и вызывает ошибку метода duplicate.
<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?
Нет ли простого способа добавить эту функцию в класс vqmod ? Мне не нравится идея полагаться на имя другого расширения, чтобы всегда приходиться раньше моего. Это может вызвать слишком много проблем, когда люди переименовывают файл и т. Д. –
Я думаю, это также можно было бы использовать для решения проблемы с: Обратите внимание, что файл партнерской библиотеки может не существовать в старых системах. –
Ну, к сожалению, проверка порядка приоритетов только замедлит обработку, поэтому в настоящее время не планируется добавлять что-то подобное в vQmod, особенно когда вы можете просто использовать именование. Если что-то также использует zzz для своих имен, то есть вероятность, что хотите выполнить последний - в этот момент даже порядок приоритета не будет полезен, если они оба борются за него –