Magento - Добавление файлов в Local / Mage не имеет никакого эффекта - PullRequest
2 голосов
/ 27 июля 2010

Я хотел бы внести изменения в некоторые файлы ядра Magento.Чтобы убедиться, что изменения пригодны для будущего, я копирую файл из кода / core / Mage в code / local / Mage.

Я сохраняю структуру файлов и имена файлов согласованными.Проблема в том, что когда я делаю это, изменения не действуют (я обновил кеш)

Есть идеи, где я ошибаюсь?Если я редактирую основные файлы напрямую, изменения происходят.

Ответы [ 3 ]

3 голосов
/ 27 июля 2010

Вы должны создать новый локальный модуль и определить перезаписи в файле config.xml:

Создать app/code/local/MyCompany/MyModule каталог. Добавьте подпапки etc и model.

Теперь создайте etc/config.xml файл, содержащий:

<?xml version="1.0" encoding="utf-8?>
<config>
    <modules>
        <MyCompany_MyModule>
            <version>0.1.0</version>
        </MyCompany_MyModule>
    </modules>

    <global>
         <models> <!-- type of class to rewrite -->
            <catalog> <!-- base module to rewrite -->
                <rewrite>
                    <product>MyCompany_MyModule_Model_Product</product>
                </rewrite>
            </catalog>
        </models>
    </global>
</config>

Реализуйте model/Product.php со своими изменениями. Самый простой способ - унаследовать от базового класса и переписать метод.

Также не забудьте активировать свой модуль в приложении / etc / modules.

0 голосов
/ 11 августа 2010

Вы можете легко перезаписать настройки xml, используя local.xml. Итак, если вы хотите перезаписать / добавить к app/code/core/Mage/Customer/etc/config.xml, просто добавьте его к app/etc/local.xml.

0 голосов
/ 28 июля 2010

Приведенный выше плакат верен в том смысле, что предпочтительным способом редактирования основных функций является использование перезаписей. Однако в некоторых случаях это невозможно, и в этом случае вы должны иметь возможность поместить файлы ядра в каталог /app/code/local/Mage, чтобы заставить их работать. Файлы блоков и моделей должны работать немедленно таким же образом, как и контроллеры, если я правильно помню. Другие файлы (например, файлы конфигурации) могут не работать автоматически.

Не могли бы вы опубликовать детали конкретного файла, который не отвечает, как вы ожидаете? Отладить детали легче, чем общие. Кроме того, убедитесь, что вы отключили любой кэш кода операции, установленный на сервере, в дополнение к очистке обычного кэша.

Спасибо, Джо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...