Рубрика: Magento — как сделать

Как добавить контактную форму на страницу в Magento

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

Как провести тест скорости загрузки вашего сайта

Скорость вашего сайта имеет прямое отношение к коэффициенту конверсии и впечатлению от пользовательского интерфейса. Современные посетители не привыкли ждать, пока сайт долго загружается, и они уходят либо обратно в поисковую систему, либо на сайт к конкуренту. Чем дольше загружается ваш сайт, тем больше вероятность потерять посетителя. Максимально допустимое время загрузки страницы сейчас составляет всего 2 секунды. Если вы не вкладываетесь в это время, вы потеряете почти половину своих потенциальных пользователей. Следовательно, время загрузки сайта имеет...

Основные трюки при работе с коллекцией товаров в Magento

Любой разработчик, который работает с Magento, рано или поздно столкнется с коллекциями товаров. Практически для любого интернет-магазина на CMS Magento крайне важно правильно и эффективно использовать выборку, фильтрацию и сортировку товаров. В этой статье мы попробуем собрать основные сниппеты, которые будут полезны разработчикам Мадженто любого уровня при работе с коллекциями товаров.     Загрузка коллекции товаров Существует два основных способа загрузки коллекции товаров. Вы можете вызывать метод getCollection() в экземпляре модели товара, либо загружать класс...

Область применения для Магазина в Magento

Одной из популярных функций Magento является возможность обслуживать несколько сайтов из одной административной зоны (Панели администрирования). Это могут быть совершенно разные сайты, или же один сайт, который представлен на нескольких языках. Если вас заинтересовала такая возможность, тогда давайте детальнее рассмотрим концепцию Области применения для Магазина.     Области применения для Магазина Когда происходит установка платформы Magento, тогда одновременно создаются основной сайт (main website), магазин по умолчанию (default store) и вид магазина (store view). Также, у...

Краткие замечания по процессу обновления сайта на 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> </{parameter_identifier}>...

Контрольные заметки для сертификационного экзамена Мадженто-разработчика – ч.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}: таблицы значений....