Сьогодні ми продовжимо серію уроків по Мадженто для початківців і розберемо складові архітектури двигуна.
/app/ – папка містить модулі, теми, конфігураційні файли та файли перекладів. Також вона містить файли шаблонів для адміністративної панелі та установчі файли;
/app/etc – містить загальну конфігурацію
/app/code – містить різні модулі (моделі, контролери, хелпери, блоки, і т.п.)
/app/code/core – містить модулі Magento, розроблені власною командою
/app/code/community – містить модулі, розроблені у співтоваристві Мадженто
/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 (наприклад, ua_UA)} – 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, а також моделі побудови цієї платформи.
Якщо у вас є питання, що стосуються статті, не соромтеся залишати їх у коментарях нижче.
Корисного кодування!
Сьогоднішній огляд присвячений людям, для яких важливе питання конфіденційності в Інтернеті, та хто цінує свої…
Вперше про бренд Pro Plan почули у 1986 році, коли він став частиною американської компанії…
Страх покарання гірше самого покарання (Покарання — завжди щось конкретне, і воно все ж краще,…
Якщо ви плануєте розмістити веб-сайт в мережі Інтернет, дуже важливо знайти для нього швидкий і…
Навчання за кордоном вже давно асоціюється з якісною освітою, новими можливостями та безліччю перспектив. Але…
Вибір майстра для ремонту та перетяжки меблів – завдання, яке потребує вдумливого підходу. Адже від…