Расширенные возможности – доля в экзамене: 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>
В зависимости от типа, параметры виджетов могут иметь одно значение, выбор из нескольких значений, или могут включать сложные процедуры, например, выбор галереи изображений, чтобы определить их значение, управляемое хелпер блоком.
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.
Разница между двумя версиями 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
На заре моей карьеры веб-разработчика все было относительно просто: установил локальный сервер (помните Denwer?), положил…
Если вы когда-либо интересовались, как ускорить свой сайт на WordPress, вы, наверное, слышали о "кешировании".…
Когда мы говорим о веб-разработке, первое, что приходит на ум — это HTML и CSS.…
В мире SEO есть фраза, которую повторяют так часто, что она уже стала клише: "Content…
Создание бизнеса — это как рождение ребенка. Вы вкладываете в него душу, время и деньги.…
Когда вы только начинаете работать с PHP, кажется, что все просто: вы пишете код, веб-сервер…