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

 

В зависимости от типа, параметры виджетов могут иметь одно значение, выбор из нескольких значений, или могут включать сложные процедуры, например, выбор галереи изображений, чтобы определить их значение, управляемое хелпер блоком.

 

API

Magento содержит встроенные API SOAP, XML-RPC и REST для дистанционного управления магазином.

API SOAP является типичным и распространенным. WSDL для него находится в:

  • {base_url}/api/?wsdl
  • {base_url}/api/v2.soap?wsdl

 

Ресурсы API определяются в файлах конфигурации api.xml или api2.xml. В этих файлах для каждого ресурса определено модель для обработки вызовов. Методы API публикуются методом определения их в файлах конфигурации wsdl.xml или wsdl2.xml. Методы размечают карту методов на ресурсных моделях. Ресурсы API включают ACL, чтобы ограничивать API методы для определенных пользователей/ролей.

Файлы конфигурации wsdl.xml загружаются с помощью модели Mage_Core_Model_Config. Она также отвечает за загрузку конфигурации модуля Magento, поэтому это работает точно так же, как загрузка config.xml, если речь идет о расширении и переопределении конфигурации API метода.

Методы API определяются API моделями, которые инстанциируются с помощью фабричных методов Magento класса. Поэтому они могут быть перезаписаны, как обычные модели Magento, для переопределения API методов. Дополнительные методы могут быть добавлены к перезаписанным классам или с помощью добавления новых API моделей к wsdl.xml.

 

API против API2

Разница между двумя версиями SOAP API заключается в том, что в версии 1 все операции выполняются, передавая их методам call() и multicall(), например:

<?php $client->call($session, "sales_order.list"); ?>

 

Между тем в версии 2 каждая операция имеет свой собственный метод, например:

<?php $client->salesOrderList(); ?>

 

Внутренний обработчик API версии 2 использует ту же конфигурацию API метода, что и версия 1. При вызове метода API 2 версии, например, catalogProductCreate(), обработчик ищет префикс, который соответствует методу в

<v2>
  <resources_function_prefix>
  </resources_function_prefix>
</v2>

разделе конфигурации, например catalogProduct для поиска ресурса метода и вызывает метод {resource}.{method_suffix} API 1 версии.

 

Перевод: SebWeo

 

Recent Posts

Уоррен Баффетт

Даже если вы очень талантливы и прилагаете большие усилия, для некоторых результатов просто нужно время:…

1 неделя ago

Пошаговая инструкция Импорта данных из Excel в MySQL через phpMyAdmin

Этот практический урок поможет вам перенести данные из вашего Excel-файла (с некоторыми конкретными столбцами) в…

1 неделя ago

Распространенные мифы и заблуждения о пиве: восстанавливаем справедливость

Пиво – один из самых популярных напитков, который наряду с чаем и кофе известен во…

1 неделя ago

Уроки JavaScript — Краткие функции на замену большому объемному коду

Довольно часто у программистов возникает соблазн написать какую-нибудь обширную функцию, которая должна решать определенную задачу.…

2 недели ago

Зачем и как просыпаться раньше

Дискуссии вокруг этой темы вас, вероятно, уже утомили. Но я в данной статье постараюсь показать…

2 недели ago

Уроки JavaScript — Шпаргалка для разработчиков по работе с консолью в браузере

Консоль браузера (также известная как консоль JavaScript или веб-консоль) — это мощный инструмент для разработчиков,…

3 недели ago