Я читал много похожих вопросов о «сбросе» или «удалении» и «установке» модуля, находящегося в разработке в Prestashop 1.7 (например, здесь или там).
В основном я переопределил файлы в [prestashop project]/modules/[custom module]/override/classes/
и [prestashop project]/modules/[custom module]/override/controllers/front/
. Все мои файлы соблюдают соглашение:
<?php
class [Class to be overridden] extends [Class to be overridden]Core {
....
}
?>
В [prestashop project]/override/classes/
или [prestashop project]/override/controllers/front/
мои файлы копируются из [prestashop project]/modules/[custom module]/override/...
часто с ошибками: например, скобки {} (не существующие в исходном файле), которые не открываются / закрываются правильно, что делает класс бесполезным.
Итак, я вручную удаляю неправильно скопированные файлы в [prestashop project]/override/...
и запускаю действие "сброса".
Добавлю, что после ручного удаления я часто вижу эту проблему в журнале Symfony при попытке «сбросить» настраиваемый модуль:
Исключение, вызванное модулем [имя модуля] при установке. Класс [замещающий файл] OverrideOriginal_remove [некоторая цепочка символов] не существует.
Как объяснено в [prestashop project]/override/readme_override.txt
:
Часто задаваемые вопросы
В: Я добавил файл переопределения, но кажется, что он игнорируется PrestaShop О: Вам нужно запустить регенерацию файла /cache/class_index.php. Это делается простым удалением файла. То же самое и при удалении переопределения вручную: чтобы восстановить поведение по умолчанию, вы должны удалить файл /cache/class_index.php.
Но [prestashop project]/cache/class_index.php
не существует в Prestashop 1.7.