Как стать автором
Обновить

Комментарии 5

Magento 1 точно пора на пенсию и для этого есть одна большая причина: Если б это была статья о М2, в ней бы обязательно было бы отсылка к SOLID и как написать юнит/интеграционный/функциональный тест для вашего кода.
Тяжело, особенно с таким форматированием примеров.

Поговорим о codePool. Всего их 3: local, community, core (и enterprise в Enterprise версии Magento).
enterprise — такого пула нет, есть namespace в core, которые называется Enterprise

Простите, но делать
Создадим модель Block.
это то еще запутывание читателя.

Указанный «альтернативный способ создания таблицы» как раз является основным и наиболее правильным, начиная с Magento 1.6 где-то, что было очень давно.

<siteblocks before="Mage_Adminhtml">IGN_Siteblocks_Adminhtml</siteblocks>


Роутеры лучше добавлять «after», а не «before». Вы же расширяете функциональность, а не меняете.

И такого еще много =( ваша статья хорошему не научит, особенно при таком размере. Magento большая и сложная система, уместить все в одну статью просто невозможно. А сделать все правильно без хорошего опыта еще сложнее. Набирайтесь опыта, следуйте best practices и только потом учите других.

Спасибо за фидбек. Я внес корректировки. Правда модель Block уже не переименуешь, иначе выйдет серьезный рассинхрон с видеоуроками.

Размер статьи может стать отпугивающим фактором, но я все ж старался уместить весь нужный материал в одном месте и кому-то это будет удобно, а кому-то нет.

Magento большая и сложная система, уместить все в одну статью просто невозможно

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

Роутеры лучше добавлять «after», а не «before». Вы же расширяете функциональность, а не меняете.

Такой момент я учту. Но функциональность я пока еще никому так не поменял. А теперь представьте что множество разработчиков в числе которых и довольно известные компании в Magento ремесле писали вот так:
роутерс
<admin>
        <routers>
            <somemodule_admin>
                <use>admin</use>
                <args>
                    <module>NN_Somemodule</module>
                    <frontName>somemodule_admin</frontName>
                </args>
            </somemodule_admin>
        </routers>
    </admin>


Пока на свет не вышел апдейт, где все эти роутеры превратились в чебурашку.
Буду рад узнать о других косяках.
Да, я это видел, было весело =)

Из других замечаний:
  • Наверное, было бы лучше не выкладывать полные листинги файлов, когда в них поэтапно дабвляются по одной-две строчки, а показывать только измененные места
  • * */1 * * * php… — это ведь раз в час, а не каждую минуту. как предлагает Magento
  • «Слушателей декларируют в config.xml. И там есть 3 варианта: global, admin, frontend.» — adminhtml, не admin
  • public function siteblocks_clear_cache() — camelCase для названий методов


Это замечания общего плана, не к конкретной реализации. Также, может лучше не писать, например, «можно сделать так, но это не рекомендуется» — большая проблема Magento в том, что одно и то же можно сделать разными способами, а правильный из них (наиболее правильный) только один. M2 в этом плане чуть лучше, там легче проверить эти практики.

Спасибо.
Спасибо, еще раз. Я внесу некоторые корректировки.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.