Tag: Magento

Як додати контактну форму на сторінку в Magento

Досить часто при розробці інтернет-магазину на Magento потрібно виводити форму зворотного зв’язку на довільній сторінці. У цій короткій статті ми розглянемо практичне рішення цього питання. Щоб виводити форму для зворотного зв’язку практично на будь-якій сторінці в магазині, у вас є два можливих рішення. У першому випадку вам потрібно додати спеціальний код в статичну сторінку, яка була створена з панелі адміністрування (через меню CMS -> Pages). У другому випадку вам потрібно вставити спеціальний код виклику форми...

Як провести тест швидкості завантаження вашого сайту

Швидкість вашого сайту має пряме відношення до коефіцієнту конверсії та враження від користувацького інтерфейсу. Сучасні відвідувачі сайтів не звикли чекати, поки сайт довго завантажується, і вони йдуть або назад в пошукову систему, або на сайт до конкурента. Чим довше завантажується ваш сайт, тим більше ймовірність втратити відвідувача. Максимально допустимий час завантаження сторінки зараз становить всього 2 секунди. Якщо ви не вкладаєтесь в цей час, ви втратите майже половину своїх потенційних користувачів. Отже, час завантаження сайту...

Основні трюки при роботі з колекцією товарів в Magento

Будь-який розробник, який працює з Magento, рано чи пізно зіткнеться з колекціями товарів. Практично для будь-якого інтернет-магазину на CMS Magento вкрай важливо правильно і ефективно використовувати вибірку, фільтрацію і сортування товарів. У цій статті ми спробуємо зібрати основні сніпети, які будуть корисні розробникам Мадженто будь-якого рівня при роботі з колекціями товарів.     Завантаження колекції товарів Існує два основних способи завантаження колекції товарів. Ви можете викликати метод getCollection() в екземплярі моделі товару, або завантажувати клас...

Короткі зауваження щодо процесу оновлення сайту на Magento

В даній статті ми розглянемо основні моменти, на які слід звернути свою увагу при оновленні двигуна Мадженто з однієї версії на іншу (в межах версій 1.4 – 1.9.x). Мета цієї статті полягає в тому, щоб показати ручний спосіб оновлення, а також звернути увагу на деякі проблеми, які можуть статися при спробі оновлення.     Процес ручного оновлення Перед оновленням інтернет-магазину на Magento вам необхідно перевірити кастомні модулі, а також якість коду. Від цього залежить не...

Моделі в Magento – короткий огляд

Робота з даними в Magento заснована на трьох принципах: Моделі, Ресурси моделі і Колекції. Модель – це буква «M» в абревіатурі MVC (Model-View-Controller, Модель-Вигляд-Контролер). Моделі відповідають за бізнес-логіку будь-якого PHP додатку, і це не є винятком для Magento. Оскільки Magento використовує архітектурний шаблон MVC, Моделі в двигуні використовуються для інкапсуляції бізнес-логіки (тобто, сукупності правил, принципів і залежностей поведінки об’єктів). Головним завданням для Моделі в Мадженто є обробка даних з бази даних, оскільки вона керує всіма...

Контрольні нотатки для сертифікаційного екзамену Мадженто-розробника – ч.10

Розширені можливості – частка в екзамені: 13%.   Віджети Віджети – це налаштовувані блоки інтерфейсу, які можуть бути включені та настроєні в блоках або на CMS сторінках. Архітектура віджетів в основному керується моделлю Mage_Widget_Model_Widget, тоді як блоки інтерфейсу, що використовуються віджетами, реалізують інтерфейс Mage_Widget_Block_Interface.   Віджети визначаються у файлі конфігурації widget.xml модуля, використовуючи такий синтаксис: <widgets> <{widget_identifier} type="{grouped_class_name}" translate="{fields}" module="{module_name}"> <name>{widget_name}</name> <description>{widget_description}</description> <parameters> <{parameter_identifier} type="{type}" translate="{fields}"> <visible>{0|1}</visible> <required>{0|1}</required> <label>{parameter_label}</label> <type>{parameter type}</type> <value>{value}</value> <values>{possible_values}</values> <helper_block>{helper_block_definition}</helper_block> <sort_order>{order}</sort_order>...

Контрольні нотатки для сертифікаційного екзамену Мадженто-розробника – ч.9

Продажі – частка в екзамені: 11%.   Важливі класи   Mage_Sales_Model_Order Модель замовлення в Magento. Вона обробляє все, що пов’язано з самим замовленням, деякі з найважливіших з яких – ціни, адреси оплати та доставки, метод доставки, знижки, статус, клієнт та інші. Довжина файлу становить 2000+ рядків, тому ви можете уявити собі, якою є інша магія в ньому.     Mage_Sales_Model_Quote Це те, чим є замовлення, перш ніж воно перетворюється в повноцінне замовлення. Квота створюється клієнтом...

Контрольні нотатки для сертифікаційного екзамену Мадженто-розробника – ч.8

Оформлення замовлення – частка в екзамені: 16%.   Квоти Magento використовує модель квот для зберігання інформації про замовлення, перш ніж клієнт завершить його. Сюди входить: Інформація про споживача Позиції для замовлення Платіжна адреса Адреса доставки Метод доставки Метод оплати Загальна ціна   Платіжна адреса та адреса для доставки використовують одну модель Mage_Sales_Model_Quote_Address. Тип адреси встановлено як поле в моделі. Адреса доставки (або платіжна адреса, якщо продукт є віртуальним або завантажуваним) використовується для розрахунку загальної суми...

Використання обсервера контролера для відправки події в Мадженто

При розробці в Мадженто вам можуть знадобитися свої власні події, і ви зіткнетеся з тим, що система не має потрібного для цього спостерігача (обсервера). Ви почнете думати, що вам доведеться переписувати блок або щось подібне. Однак існує й інше рішення – ви можете використовувати спостерігач контролера для відправки своїх власних подій. Зазвичай події відправляються (відбувається їх диспетчеризація) в блоках і моделях – кожен з яких викликається конкретним контролером (в залежності від того, де ви знаходитесь...

Як обмежити доступ до сайту на Мадженто (режим обслуговування)

Іноді бувають моменти, коли потрібно внести зміни в код на сайті Мадженто, який вже функціонує в мережі Інтернет. Іншими словами, перевести його в режим технічного обслуговування, поки ви редагуєте функціонал сайту. І тут важливо, щоб клієнтам вашого інтернет-магазину показувалося інформаційне повідомлення про режим обслуговування, а у вас був повний доступ до функцій сайту для його тестування. Самим ідеальним для цього рішенням буде обмеження доступу до сайту по IP відвідувача. Починаючи з версії Мадженто 1.4 стала...

Контрольні нотатки для сертифікаційного екзамену Мадженто-розробника – ч.7

Catalog – частка в екзамені: 10%.   Товари Є 6 різних типів товарів, що підтримуються в дефолтній інсталяції Magento: Простий (simple): Проста одиниця фізичного товару Налаштовуваний (configurable): Перший тип композиційних товарів. Дозволяє клієнтам налаштувати свій товар і додати один простий товар до кошика Згрупований (grouped): Другий тип композиційних товарів – згрупований товар, який складається з простих товарів і надає клієнтам можливість обрати необхідну кількість кожного товару Прив’язаний (bundle): Третій тип композитного товару – це сукупність...

Як перевірити, що користувач залогінився в Magento

Досить часто при роботі з модулями в Мадженто виникає завдання визначити, чи увійшов користувач в систему (залогінився) чи ні. Тобто, визначати користувача як авторизованого, або як гостя. Наприклад, потім цю інформацію можна буде використовувати, щоб давати залогіненим користувачам доступ до додаткового функціоналу в інтернет-магазині або ж перенаправляти на певну сторінку на сайті (наприклад, сторінку входу чи реєстрації). Отримати інформацію про вхід в систему Мадженто можна досить просто, використовуючи дані сесії користувача. Для цього ми будемо...

Контрольні нотатки для сертифікаційного екзамену Мадженто-розробника – ч.6

Adminhtml – частка в екзамені: 7%.   Конфігурація Області конфігурації, що завантажуються для панелі адміністрування: <menu> <acl> <admin> <adminhtml>     Контролер Adminhtml Контролер adminhtml розширює Mage_Adminhtml_Controller_Action. На відміну від контролерів frontend, які розширюють Mage_Core_Controller_Front_Action. Його екшен (action) перевіряє, чи дозволено користувачеві отримати доступ до запитуваної сторінки та перевіряє форми та секретні ключі перед відправленням.     Маршрутизація У Mage_Core_Controller_Varien_Front::dispatch() Magento оглядає кожен з маршрутизаторів і перевіряє запитуваний шлях, щоб побачити, чи зареєстровано будь-які модулі...

Контрольні нотатки для сертифікаційного екзамену Мадженто-розробника – ч.5

EAV – частка в екзамені: 10%.   Основні поняття Сутність (Entity): зберігає інформацію про тип даних. У випадку з Magento це клієнт, товар, категорія тощо. Атрибут (Attribute): індивідуальні властивості кожної сутності, наприклад, назва, вага, адреса електронної пошти тощо. Значення (Value): значення певної сутності та атрибута. Наприклад, ми можемо вказати сутність клієнта та атрибут електронної пошти, а потім надати йому значення hello@example.com.     Схема бази даних eav_entity: таблиця сутностей eav_entity_attribute: таблиця атрибутів eav_entity_{type}: таблиці значень....

Контрольні нотатки для сертифікаційного екзамену Мадженто-розробника – ч.4

Бази даних – частка в екзамені: 13%.   Моделі, Ресурси Моделі та Колекції Основні поняття Модель використовується для зберігання і обробки даних окремого об’єкту. Моделі, як правило, містять бізнес-логіку програми. Ресурси Моделі використовуються для взаємодії з базою даних від імені Моделі. Ресурси Моделі безпосередньо виконують CRUD операції. Колекція Моделі (Collection) працює з групою моделей та виконує (CRUD) операції для груп моделей.   Є два типи Моделі Magento: прості та EAV. Прості моделі взаємодіють з однією таблицею бази даних, в той час...