【问题标题】:How to get price of product in Drupal Commerce using Services module?如何使用服务模块在 Drupal Commerce 中获取产品价格?
【发布时间】:2012-02-19 17:38:22
【问题描述】:

我安装了服务模块和 REST 服务器来获取产品列表和详细信息。我只能获取产品展示节点和产品id,

但是如何从 Drupal Commerce 获取产品价格和可用性信息。

所有节点列表(包括产品展示节点)

http://drupalcommerce.myappdemo.com/services/node

获取单品展示节点 http://drupalcommerce.myappdemo.com/services/node/37

但它确实给出了产品 ID,但没有给出产品价格。

请告诉我如何获得一个。

【问题讨论】:

  • 有一个名为Commerce Services 的沙盒模块将商务与服务集成在一起。这是你现在不用自己写就能得到的最接近的结果

标签: drupal drupal-services drupal-commerce


【解决方案1】:

检查这个 api 它会帮助你

 $order = commerce_cart_order_load($uid);
   // Get the order for user just logged in.
    $order_authenticated = reset(commerce_order_load_multiple(array(), array('uid' => $this->store_customer->uid, 'status' => 'cart'), TRUE));
   //update the order status
    $form_state['order'] = commerce_order_status_update($order, 'checkout_checkout', TRUE);
    // Load the order status object for the current order.
    $order_status = commerce_order_status_load($order->status);
    $profile = commerce_customer_profile_load($order->data['profiles'][$checkout_pane['pane_id']]);
    $order = commerce_order_load($order->order_id);
   // Give other modules a chance to alter the order statuses.
    drupal_alter('commerce_order_status_info', $order_statuses);
     $order_state = commerce_order_state_load($order_status['state']);
      // Load the line items for temporary storage in the form array.
    $line_items = commerce_line_item_load_multiple($line_item_ids);
    // load line item
    commerce_line_item_load($line_item_id)
    //load the commerce product
    $product = commerce_product_load($product_id)
     // Load the referenced products.
    $products = commerce_product_load_multiple($product_ids);

【讨论】:

    【解决方案2】:
    1. 安装Commerce Services 模块。

    2. 为您的服务端点启用“product-display -> retrieve”和“product->retrieve”资源。

    3. 在 ?q=my_service_endpoint/product-display/123.json 上执行 GET,这将获取节点 123 的产品显示信息。这还将包含产品的 id此节点引用的 (s)(例如产品 456)以及产品的价格。

    4. 可选,在 ?q=my_service_endpoint/product/456.json 上执行 GET,这将获得 id 为 456 的产品的更完整的产品信息.

    【讨论】:

      猜你喜欢
      • 2020-04-03
      • 1970-01-01
      • 2013-02-13
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多