Как выглядит коммерческая заявка Drupal? - PullRequest
0 голосов
/ 06 июня 2018

Давайте предположим, что у меня есть коммерческий веб-сайт на Drupal.Есть модуль Drupal Commerce.Я хочу использовать API для получения полных заказов из моего магазина.Является ли это возможным?Я не могу найти информацию о том, как эти запросы выглядят (каков формат ответа и т. Д.).Также мне не нужны примеры php, может быть, есть Rest API?

1 Ответ

0 голосов
/ 07 июня 2018

Я думаю, что есть несколько способов сделать это, от простого до (немного) сложного.

  • Поскольку вы упоминаете только получение данных, простой способ заключается в создании новых представлений, перечисляющих все заказы, вы можете настроить эти представления для отображения вывода в виде XML или в формате JSON.Используемым модулем может быть экспорт данных Views или источник данных Views.

  • Второе решение заключается в создании пользовательского модуля, который использует hook_menu для создания настраиваемого URL-адреса конечной точки, который вызывает функцию обратного вызова, где вы можете определить желаемый вывод

function YOURMODULE_menu() {
  $items = array();
  $items['api/order'] = array(
    'title' => 'API Orders',
    'page callback' => 'YOURMODULE_api_orders_callback',
    'access arguments' => array('access content')
  );
  $items['api/order/%'] = array(
    'title' => 'API Orders',
    'page callback' => 'YOURMODULE_api_orders_callback',
    'page arguments' => array(2),
    'access arguments' => array('access content')
  );
  return $items;
}

function YOURMODULE_api_orders_callback($order_id = NULL) {
  $order_ids = array();
  if(!is_null($order)) {
    array_push($order_ids, $order_id);
  }

  // Load all orders or only 1 order 
  // We can use commerce_order_load_multiple()  
  // or use EntityFieldQuery() if need a complex logic filtering orders
  $orders = commerce_order_load_multiple($order_ids);
  drupal_json_output($orders);
}
  • Последнее решение заключается в использовании модулей служб, создании настраиваемого модуля и создании настраиваемой службы, в которой вы можете определить свой настраиваемый ресурс - в данном случае - commerce_order .Учебник по созданию пользовательских сервисов можно найти здесь ? https://valuebound.com/resources/blog/how-to-create-custom-web-services-for-drupal-7-0
...