Điểm:0

Mở rộng phản hồi phương thức vận chuyển api thương mại với các trường tùy chỉnh

lá cờ cn

Với mô-đun api thương mại, bạn có thể tìm nạp tất cả các phương thức giao hàng có sẵn của một đơn đặt hàng với yêu cầu GET trên {{host}}/jsonapi/checkout/{{cart_uuid}}/shipping-methods. Kết quả là một cái gì đó như thế này:

    {
        "type": "tùy chọn tỷ lệ vận chuyển",
        "id": "3--mặc định",
        "thuộc tính": {
            "shipping_method_id": "3",
            "dịch vụ": {
                "id": "mặc định",
                "label": "Nhận tại địa điểm"
            },
            "số tiền ban đầu": {
                "số": "0",
                "currency_code": "CZK",
                "formatted": "0,00Â KÄ"
            },
            "số lượng": {
                "số": "0",
                "currency_code": "CZK",
                "formatted": "0,00Â KÄ"
            },
            "sự miêu tả": "",
            "ngày_giao_hàng": null
        }
    },

Tôi muốn thêm một trường tùy chỉnh cho từng phương thức giao hàng.

Tiếp theo cái này hướng dẫn, tôi đã cố gắng tạo một trường được tính toán, như thế này:

chức năng custom_module_entity_base_field_info(EntityTypeInterface $entity_type) {

  if ($entity_type->id() === 'commerce_shipment') { // cũng đã thử 'shipping_rate_option'
    $fields['tooltip'] = BaseFieldDefinition::create('string')
      ->setLabel(t('chú giải công cụ'))
      ->setReadOnly(TRUE)
      -> setComputing (TRUE)
      ->setClass(FieldTooltip::class);

    trả lại các trường $;
  }

}

Và lớp học của tôi là

/**
 * Chú giải trường công cụ lớp.
 */
lớp FieldTooltip mở rộng FieldItemList {

  sử dụng ComputingItemListTrait;

  /**
   * {@inheritdoc}
   */
  chức năng được bảo vệ computeValue() {
    $this->list[0] = $this->createItem(0, 'văn bản chú giải công cụ');
  }
}

Nó không làm gì cả. Cũng đã cố gắng tạo một trình chuẩn hóa, nhưng điều đó cũng không thay đổi được gì.

Có cách nào để thêm trường vào phản hồi này không?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.