Хорошо, magento для меня в новинку, и на самом деле разработка сайтов электронной коммерции нова.
Magento кажется чрезвычайно трудным для понимания - я потратил 3 дня на то, чтобы кружиться, пытаясь создать собственную тему и модули.
Документация скудная, код и структура кажутся запутанными - когда станет проще ?!
Есть ли какие-то конкретные советы или рекомендации по правильному изучению Magento? Для других разработчиков - сколько времени (полная разработка) потребовалось, чтобы начать разбираться в Magento и быстро выполнить работу?
Первый шаг на пути к выполнению чего-либо в Magento - это прочитать Руководство по дизайну Magento .
Когда вы познакомитесь с системой XML / Block, вы сможете очень легко вносить изменения в проектную часть. Как только вы освоитесь с этим, вы захотите взглянуть на каждую папку в вашей базовой установке Magento. У каждой папки есть цель, и понимание того, какие функции каждая из них в Magento поможет вам, когда вы решите начать создавать модули.
У Алана Шторма есть отличное руководство для вашего первого модуля здесь. Я бы прочитал это внимательно и получил книги, которые он предлагал; они прекрасные ресурсы.
Наконец, начните отслеживать функции по коду. У меня в основном есть grep -R
, доступный в любое время, чтобы узнать, где определены методы, чтобы я мог лучше понять их возможности. Из-за размера Magento иногда это лучший способ найти ответы.
Удачи!
Как сказал Phliplip, у вас есть понимание шаблона MVC и того, как Zend Framework их реализует. В частности, часть контроллера, модель и представление обрабатываются по-разному.
Убедитесь, что вы используете редактор спуска (например, eclipse + pdt), который позволяет вам щелкнуть любую функцию, и он покажет вам источник, а также настройку xDebug, чтобы вы могли перемещаться по некоторому коду во время его работы и видеть значения переменных.
Magento контролируется множеством файлов config.xml в каждом модуле, которые объединяются в один большой xml. Итак, вам нужно понять, как вы настраиваете модуль и что делает Mage :: getModule ('yourmodul / xx_yyy'). а также es Mage :: getResourceModule (), Mage :: helper (), Mage :: getBlock ()
Убедитесь, что вы на 100% знакомы с классом Varien_Object , ... и станьте поклонник этого :)
Попытайтесь понять класс Magento Collection, который в основном обертывает любой запрос mysql, возвращающий более одного результата
Познакомьтесь с моделью eav базы данных
Когда вы планируете изменить базу данных ,. .. вы должны убедиться, что понимаете программу установки magento.
Это еще не все .... мне потребовалось не знаю 6 месяцев, чтобы разобраться в этом ...
Magento построен на Zend Framework. Я думаю, что базовые знания ZF помогут вам начать работу.
Попробуйте взглянуть на «ZendFramework в действии». Вот где я начал с ZF.
ZFiA, вероятно, даст вам хорошее представление о шаблоне MVC и структуре каталогов ZF. Вы должны иметь возможность проецировать на Magento.
И в настоящее время я работаю над двумя проектами ZF. Мне еще предстоит открыть магазин Magento, но он скоро появится.
Поигрался с Magento сразу после выпуска. И должен сказать, что было много проблем просто с установкой и хорошей работой. Так что с тех пор не играл с ней. У меня сложилось впечатление, что с тех пор он эволюционировал, и проблемы с производительностью должны быть устранены. Это все еще не приложение, которое следует запускать на виртуальном хостинге за 1 доллар.