Задать вопрос
@siziyyy

Модификатор в opencart почему не меняет значения файлах папки system/storage/modification 2.3?

есть модификатор, для 2.3 установка проходит, но суть в том что модифицировать пробуем файл в system/storage/modification и соответственно данные не меняются, ну все уже проверили, вот код модификатора
<?xml version="1.0" encoding="utf-8"?>
<modification>
	<name>Sat verification modifier yandex_payments</name>
	<code>Sa_verification_modifier_yandex_payments</code>
	<version>1.1</version>
	<author>sat_siziyyy</author>
	<link>https://sat-systems.ru/</link>

	<file path="system/storage/modification/catalog/controller/checkout/success.php|system/storage/modification/system/engine/loader.php">  <!-- Файл который будет модифицироваться -->
		<operation>
			<search>                           <!-- Поиск кода в файле -->
				<![CDATA[
				$data['script_order'] = $this->{'model_'.str_replace("/", "_", $prefix).'payment_yandex_money'}->getMetricsJavaScript($this->session->data['order_id']);
				]]>
			</search>
			<add position="replace">             <!-- Добавление модификации (после найденного куска кода) -->
				<![CDATA[
				if ($this->{'model_'.str_replace("/", "_", $prefix).'payment_yandex_money'} && method_exists($this->{'model_'.str_replace("/", "_", $prefix).'payment_yandex_money'}, 'getMetricsJavaScript')) {
				$data['script_order'] =  $this->{'model_'.str_replace("/", "_", $prefix).'payment_yandex_money'}->getMetricsJavaScript($this->session->data['order_id']);
				} else {
				$data['script_order'] = '';
				}
				]]>
			</add>
		</operation>

		<operation>
			<search>                           <!-- Поиск кода в файле -->
				<![CDATA[
				throw new \Exception('Error: Could not load model ' . $route . '!');
				]]>
			</search>
			<add position="replace">             <!-- Добавление модификации (после найденного куска кода) -->
				<![CDATA[
				if($route == 'extension/payment/yandex_money') {
					return true;
				} else {
					try {
						throw new \Exception('Error:  Could not load model ' . $route . '!');
					} catch (\Exception $e) {
				        // Ничего не делаем, просто проигнорируем ошибку
					}
				}
				]]>
			</add>
		</operation>
	</file>
</modification>
  • Вопрос задан
  • 63 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Asokr
)))
Вы пытаетесь применить модификатор, можно понять по логике расположения файла, к модифицированному файлу - конечно это не работает.
Модификатор должен работать с оригинальным файлом
/catalog/controller/checkout/success.php
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы