Підступна війна росії проти України. Орієнтовні втрати ворога
(станом на 29.03.2024)
440790
осіб
347
літаків
325
гелікоптерів
6922
танків
13264
ББМ
10991
артилерія
735
ППО
1023
РСЗВ
14645
машин
26
кораблі і катери
Структура Magento – архітектура файлів CMS
Опубліковано Оновлено: 20.02.2015

Структура Magento – архітектура файлів CMS

Сьогодні ми продовжимо серію уроків по Мадженто для початківців і розберемо складові архітектури двигуна.

Основні файли та папки платформи:

/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

Модуль (розширення) Magento включає в себе наступні компоненти:
Block: завантаження даних Блоку, застосування даних з бази даних, перед відображенням їх в шаблоні.
Controller: отримує запити користувачів через HTTP і перенаправляє їх на на клас для застосування.
Etc: включає XML файли, що використовуються для налаштування модуля. Кожен модуль має відповідні XML файли.

  • Config.xml: використовується для визначення моделі, хелпера, блоку, і т.п.
  • System.XML: створює користувальницькі поля для меню в лівій частині адмінпанелі (в розділі Система-Конфігурація).
  • Adminhtml.xml: файл конфігурації модуля в консолі адміністратора.

Helper: створює функції, які можна використовувати в різних місцях системи. Хелпер також може бути викликаний через: Mage::helper(‘module/helper’)->helperfunction();
Model: створює прямі запити для відправки в базу даних.
Sql: Створює таблиці, оновлює їх, змінює базу даних.

Структура теми для Мадженто

Якщо ви хочете змінити існуючий шаблон або встановити нову тему, ви повинні знати, що файли шаблонів розміщуються в 3 основних папках:

  • /app/design/frontend/ПАКЕТ/НАЗВА_ТЕМИ/layout/ – містить .xml файли, що визначають, які модулі повинні бути викликані файлами шаблонів і завантажені в зумовлені блоки на сайті;
  • /app/design/frontend/ПАКЕТ/НАЗВА_ТЕМИ/template/ – містить файли і підпапки з шаблонами фінальної структури, виведеної користувачеві;
  • /skin/frontend/ПАКЕТ/НАЗВА_ТЕМИ/ – містить CSS, картинки, файли JavaScript і Flash, які відносяться до шаблону.

 

Після прочитання цієї статті, ви будете мати уявлення про базову структуру Magento, а також моделі побудови цієї платформи.
Якщо у вас є питання, що стосуються статті, не соромтеся залишати їх у коментарях нижче.
Корисного кодування!

 

Напишіть тут свою думку/питання

Ваша пошта не публікуватиметься. Обов’язкові поля позначені *