Каковы ваши общие ошибки конфигурации Magento?

Если есть что-то, что все ненавидят в Magento, это бесконечная настройка ваших модулей, прежде чем вы сможете написать некоторый код. Я пытаюсь собрать список распространенных ошибок конфигурации Magento для будущего проекта, который я близок к запуску.

Я ищу конкретные примеры таких вещей, как использование неправильного соглашения об именах для имен классов, забывая <class /> обертка при настройке сгруппированных имен классов. Такие мелочи, которые сводят вас с ума по часам, пока вы не поймете свою ошибку.

Чем больше деталей, тем лучше!

3 ответа

Решение

В /app/etc/module/your_Module.xml camelcase codePool, иначе произойдет сбой

<?xml version="1.0"?>
<config>
    <modules>
        <Your_Module>
            <!-- <codepool>local</codepool> this will fail silently-->
            <codePool>local</codePool>
            <active>true</active>
        </Omx_Hooks>
    </modules>
</config>

Использование moduleCreator помогает избежать многих ошибок конфигурации, но одна большая ошибка (по иронии судьбы по сравнению с ответом Эльзо) - использование camelCase в имени модуля. Он будет отлично работать при разработке в системе Windows, но тихо завершится с ошибкой *nix.

Module_UsingCamelCaseFails

в то время как

Module_Uselowercasetosucceed

Я не пытался создать модуль для верблюдов в * nix, так как вижу модули с этим соглашением об именах, которые работают, но, конечно, в направлении Windows->Linux это вызовет проблемы.

Мне также было трудно заставить ACL придерживаться при создании меню верхнего уровня в adminhtml. Если ваш пункт меню является дочерним <cms> или же <catalog>ACL работают нормально, но не как узел первого класса.

Другой классик, который занял некоторое время, когда я только начал разработку Magento, забыл, что вы не можете переопределить контроллер, просто поместив его в app/code/local/Mage,

Мне бы очень хотелось увидеть инструмент, который по сути обратен ConfigViewer, то есть тот, который проверяет ваш config.xml в контексте событий, объектов и других значений, которые вы указали и должен существовать в оставшейся части установки. Основным синтаксическим анализом XSL будет первый проход, а затем попытка создания экземпляров любых ссылочных объектов. Не уверен, как вы будете проверять наблюдаемые события, но, возможно, сработает основной код для этого имени события. Мысли?

При переписывании блоков, моделей или помощников убедитесь, что путь указывает на существующий блок, и в пути нет ошибок.

Например, я просто потратил много времени на выяснение того, почему следующее переписывание не сработало:

<blocks>  
  <adminhtml>  
     <rewrite>    <sales_order_views_tabs>Path_to_My_class</sales_order_views_tabs>  
     </rewrite>  
  </adminhtml>  
</blocks>  

Как вы можете видеть, у меня есть "представления", где это должно быть "представление". Таким образом, не существует блока, который я пытаюсь переписать, в результате чего нет ошибок и перезаписей.

Алан, я хотел бы написать дело самостоятельно, как только получу работу над Configlint. У меня проблема с установкой. Проблема, которую я разместил на "gitHub". Я хочу сделать сам, потому что я хочу участвовать в этом проекте

спасибо Марготс

Другие вопросы по тегам