Сегодня мы продолжим серию уроков по Мадженто для начинающих и разберем составляющие архитектуры движка.
/app/ — папка содержит модули, темы, конфигурационные файлы и файлы переводов. Также она содержит файлы шаблонов для административной панели и установочные файлы;
/app/etc – содержит общую конфигурацию
/app/code – содержит разные модули (модели, контроллеры, помощники, блоки, и т.д.)
/app/code/core – содержит модули Magento, разработанные собственной командой
/app/code/community – содержит модули, разработанные в сообществе Magento
/app/code/local – содержит модули, разработанные другими специалистами
/app/code/core/Mage – пространство имен magento по умолчанию
/app/code/core/Mage/{Module} – корневая папка модуля
/app/code/core/Mage/{Module}/etc – конфигурация модуля
/app/code/core/Mage/{Module}/controllers – контроллеры модуля
/app/code/core/Mage/{Module}/Block – блок логических классов
/app/code/core/Mage/{Module}/Model – объектные модели снабженные модулем
/app/code/core/Mage/{Module}/Model/Mysql4 – источники модели в модуле (:))
/app/code/core/Mage/{Module}/sql – установка и обновление sql-данных модуля
/app/code/core/Mage/{Module}/sql/{resource}/ — источник обновлений модуля
/app/code/core/Mage/{Module}/sql/{resource}/{type}-{action}-{versions}.(sql|php) – файлы-источники обновления. Например: mysql4-upgrade-0.1.0-0.1.1.sql
/app/design – тут размещаются компоненты дизайна (шаблоны, макеты, переводы)
/app/design/frontend – дизайн фронтенда (пользовательской части сайта)
/app/design/adminhtml – дизайн административной части сайта
/app/design/{area}/{package}/{theme} – настройки (конфигурация) темы
/app/design/{area}/{package}/{theme}/layout — .xml файлы, которые определяют структурные блоки для различных представлений сайта
/app/design/{area}/{package}/{theme}/template – шаблоны в формате .phtml (html вместе с php)
/app/design/{area}/{package}/{theme}/locale — Zend_Translate совместимые файлы переводов Пакета/Темы
/app/locale – файлы локализаций (переводов)
/app/locale/{locale (например, ru_RU)} — Zend_Translate совместимые файлы переводов модулей (общие переводы сайта)
/404 – папка, которая может содержать шаблоны и оформление страницы с 404-й ошибкой;
/downloader — это хранилище для загружаемых данных. В основном используется для инсталляционных файлов и файлов обновлений, загруженных через браузер;
/errors – каталог содержит шаблоны отображения ошибок в системе Magento;
/includes – содержит файл настроек config.php
/js – здесь хранятся глобальные файлы javascript
/lib – папка содержит библиотеки системы, такие как Zend и Varien
/media – каталог хранит загруженные медиа-файлы (изображения товаров, pdf документы и др.)
/pkginfo – содержит файлы с информацией об изменениях при обновлении модулей;
/skin/{area}/{package}/{theme}/ — место, где размещаются файлы стилей (CSS) и картинки Пакета/Темы
/var – папка для временных файлов. Здесь можно найти файлы кэша, сеансов, резервного копирования базы данных, экспорта, отчетов об ошибках;
.htaccess – файл содержит правила редиректов mod_rewrite. Также он содержит стандартные директивы веб-сервера и PHP, которые позволяют улучшить производительность и безопасность сайта;
.htaccess.sample – это бэкап основного .htaccess файла. Если вы изменяли основной файл, бэкап можно использовать для возврата к настройкам по умолчанию;
cron.php – файл скриптов, которые должны выполняться системой по расписанию;
favicon.ico – «фавикон» Magento по умолчанию. Эта маленькая иконка отображается в верхней панели браузера, в закладке вашего сайта;
index.php – основной, индексный файл Magento;
index.php.sample – архивная копия основного index файла. Он может быть использован для отмены изменений в случае модификации index.php;
LICENSE_AFL.txt – условия лицензии AFL (Academic Free License), под которой распространяется Magento;
LICENSE.txt – условия лицензии Open Software License на Magento;
php.ini.sample – файл содержит образцы php-директив, которые могут быть использованы для модификации настроек PHP. Если вы хотите задействовать эти настройки – переименуйте его в php.ini
В основе движка лежит идеальное сочетание Zend Framework с архитектурой MVC (Model — View — Controller).
Zend Framework: фреймворк реализован на PHP и является в настоящее время одним из наиболее мощных и широко используемых, благодаря сильным и уникальным особенностям. Используя Zend, можно достаточно легко расширять число классов и интегрировать различные библиотеки без конфликтов в конфигурации.
MVC: Model-View-Controller (Модель-Представление-Поведение) – программный шаблон проектирования для реализации пользовательских интерфейсов. Шаблон проектирования разделен на три взаимосвязанные компонента для того, чтобы модификация одного из них оказывала минимальное воздействие на остальные.
Модуль (расширение) Magento включает в себя следующие компоненты:
Block: загрузка данных Блока, применение данных из базы данных, перед отображением их в шаблоне.
Controller: получает запросы пользователей через HTTP и перенаправляет их на на класс для применения.
Etc: включает XML файлы, используемые для настройки модуля. Каждый модуль имеет соответствующие XML файлы.
Helper: создает функции, которые можно использовать в разных местах системы. Хелпер также может быть вызван через: Mage::helper(‘module/helper’)->helperfunction();
Model: создает прямые запросы для отправки в базу данных.
Sql: Создает таблицы, обновляет их, изменяет базу данных.
Если вы хотите изменить существующий шаблон или установить новую тему, вы должны знать, что файлы шаблонов размещаются в 3 основных папках:
После прочтения этой статьи, вы будете иметь представление о базовой структуре Magento, а также модели построения этой платформы.
Если у вас есть вопросы, касающиеся статьи, не стесняйтесь оставлять их в комментариях ниже.
Полезного кодирования!
Грехи других судить вы так усердно рветесь, начните со своих и до чужих не доберетесь… Read More
Люди, между которыми есть любовь и взаимопонимание, скрепляют отношения и зарождают новый союз, а дату… Read More
Для качественного SEO (поисковой оптимизации, раскрутки сайта) одним из важных показателей является Авторитет домена (Domain… Read More
Выяснение того, как вывести свои деньги с PayPal, является одним из первых вопросов, которыми озадачивается… Read More
Юбка – мощный элемент женского гардероба, благодаря которому любой наряд будет выглядеть потрясающе стильно и… Read More
Поисковые системы (например, Google) проверяют технические характеристики вашего сайта, такие как скорость загрузки, удобство навигации,… Read More