Дуже часто користувачі Мадженто стикаються з такими питаннями, відповіді на які важко знайти. Тому ми постаралися зібрати в одному місці найбільш популярні з таких питань, і найбільш повно на них відповісти.
Всякий раз, коли ви додали/змінили файли XML, JS, CSS.
Блоки контенту з .phtml-файлу шаблону викликаються:
echo $this->getLayout()->createBlock("cms/block")->setBlockId("id_statik_blok")->toHTML();
де id_statik_blok – це унікальний ідентифікатор (ID) статичного CMS-блоку.
За допомогою тегів у XML файлах структури (наприклад, в основних файлах шаблону – local.xml, page.xml)
<action method="addJs"><script>js/yourfile.js</script></action> <action method="addCss"><stylesheet>css/yourstyle.css</stylesheet></action>
АБО
<action method="addItem"><type>skin_js</type><name>js/yourfile.js</name></action> <action method="addItem"><type>skin_css</type><name>css/yourstyle.css</name></action>
Зазвичай використовуються такі типи блоків:
core/template, page/html, page/html_head, page/html_header, page/template_links, core/text_list, page/html_wrapper, page/html_breadcrumbs, page/html_footer, core/messages, page/switch.
Деякі блоки, такі як content, left, right і т.д. – це блоки типу core/text_list. Коли ці блоки рендеряться, всі їхні дочірні блоки рендеряться автоматично, без необхідності викликати метод getChildHtml().
Дивіться урок: Розуміння логіки дизайну для Magento
Методи PHP, що починаються з подвійного підкреслення, називають магічними методами. За допомогою їх ви можете визначити поведінку вашого об’єкта при різних маніпуляціях з його екземпляром.
Magento використовує магічні методи
__call(), __get(), __set(), __uns(), __has(), __isset(), __toString(), __construct()
і т.д.
Більш детальну інформацію про ці методи ви можете знайти всередині класу Varien_Object.
Детальна інформація про магічні методи в PHP: http://php.net/manual/en/language.oop5.magic.php
Magento створює 6 таблиць: module, module_datetime, module_decimal, module_int, module_text і module_varchar. Перша – це головна таблиця, а решта 5 зберігають дані атрибута в різних типах даних. Наприклад, цілі значення запишуться в таблицю module_int, значення цін в таблицю module_decimal і т.д.
Цей зв’язок зберігається в 2 таблицях бази даних:
Дивіться урок: Як перекласти Magento на українську
Для початку визначимося з поняттям MVC. MVC – це абревіатура від Model-View-Controller (Модель – Вигляд – Контролер). Будь-який додаток, який використовує поділ на дані, бізнес-логіку та інтерфейс – можна назвати MVC.
Magento також використовує логіку MVC: контролери (для запиту/відповіді маршрутизації), Block (для візуалізації вмісту), Model (для бізнес-логіки), Resource/Mysql4 (для операцій з базами даних), etc (для файлів конфігурації конкретних модулів), Helper (для загальних функцій), SQL (для сценаріїв установки), макет – Layout (для підключення блоку з шаблонами для кожної дії контролера) і шаблон/.phtml файл (для Вигляду).
Більш детально архітектура МАДЖЕНТО описана в статті: Структура Magento – архітектура файлів CMS.
ОRМ – ця абревіатура перекладається як об’єктно-реляційне відображення. Це метод програмування, який використовується для перетворення різних типів даних об’єктів. Так, за допомогою цієї технології, бази даних зв’язуються з концепціями об’єктно-орієнтованої мови програмування (MVC).
Всі моделі Magento, які взаємодіють з базою даних, успадковуються від класу Mage_Core_Model_Abstract, який потім успадковується від Varien_Object.
Приклад роботи ORM: коли ви хочете отримати деякі дані в Magento, ви викликаєте це так:
Mage::getModel('module/model')->load(1); де 1 – це первинний ID ключ деякої Регулярної/Простий таблиці.
EAV – це модель даних Entity-Attribute-Value (Сутність-Атрибут-Значення), яка дозволяє додавати необмежену кількість колонок в базу даних. Так, за EAV, є одна таблиця, яка містить всі «атрибути» даних (імена полів таблиць), та інші таблиці, які містять “сутності” (ID або первинний ID) і значення (значення для цього ідентифікатора) навпроти кожного атрибута.
У Magento є одна таблиця для зберігання значень атрибутів, яка називається eav_attribute і 5-6 таблиць, які містять сутності та дані в нормалізованій формі:
EAV в Мадженто має використовуватися тільки тоді, коли ви не впевнені в кількості полів таблиці, які можуть змінюватися в майбутньому. Основна перевага EAV – це наприклад, коли ви захочете додати поля таблиці в майбутньому, при вже наявних тисяч або мільйонів записів у таблиці. У звичайній таблиці, якщо ви додасте до неї поля з такими обсягами даних, вони можуть порушити всю вашу таблицю. У той час як в EAV, додавання стовпця до таблиці не вплине на раніше збережені записи і всі нові записи будуть збережені в цих стовпцях.
20 травня 2026 року офіційно відбувся реліз довгоочікуваної мажорної версії WordPress 7.0 «Armstrong», названої на…
Кожен власник сайту та SEO-спеціаліст веде щоденну запеклу боротьбу за утримання користувача на сторінках вебресурсу.…
Футбольна секція швидко показує, наскільки взуття підходить дитині. Якщо пара ковзає, тисне або погано чіпляється…
Компанія Samsung - один із лідерів на ринку електроніки. Її смартфони вирізняються надійністю, якісними дисплеями,…
Іспанська мова приваблює мільйони людей своєю мелодійністю, емоційністю та відносною простотою вивчення. Одним із найважливіших…
Робочий простір давно перестав бути просто столом із ПК/ноутбуком. Сьогодні це повноцінна екосистема, де кожна…