Сегодня мы продолжим серию уроков по Мадженто для начинающих и разберем составляющие архитектуры движка.
/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, а также модели построения этой платформы.
Если у вас есть вопросы, касающиеся статьи, не стесняйтесь оставлять их в комментариях ниже.
Полезного кодирования!
Выход айфонов 15 и 16 поколения — не повод забыть об устройствах 14-го, которые продолжают…
Очень неприятно получается, когда вы приложили много усилий, труда и сил, чтобы создать картинку, а…
Подавляющую часть всего мирового веб-трафика занимает трафик с мобильных устройств (включая планшеты), поэтому этот факт…
Не стоит портить нервы из-за того, что мир устроен так, а не иначе Джон Брэйн…
Модели последних серий компании Apple пользуются большой популярностью, в том числе и iPhone 14 Pro…
View Comments
Спасибо
Здравствуйте.Я поставил шаблон на магенто он выдает пустую страницу.с помощью вашей статьи проверил все установленные файлы все сходится.в чем может быть проблема?
Причин может быть масса. Нужно разбираться в каждом конкретном случае.
Вот отсновные причиные:
1) вывод пустой страницы связан с ошибками, вывод которых отключен (вам нужно включить отладку кода, и посмотреть логи системы)
2) мало памяти на сервере (если у вас недорогой хостинг, и места свободного нет - системе не хватает ресурсов)
3) ошибки в коде, особенно в таких файлах как page.xml и local.xml шаблона (очень часто допускаются опечатки или ошибки синтакса)
Отличная статья, очень понятно пояснили самое основное.