Puncte:0

Extindeți răspunsul la metodele de expediere API Commerce cu câmpuri personalizate

drapel cn

Cu modulul API de comerț, puteți prelua toate metodele de expediere disponibile ale unei comenzi cu o solicitare GET activată {{host}}/jsonapi/checkout/{{cart_uuid}}/shipping-methods. Rezultatul este cam asa:

    {
        "tip": "opțiune-rata-livrare",
        "id": "3--implicit",
        „atribute”: {
            "shipping_method_id": "3",
            „serviciu”: {
                "id": "implicit",
                "label": "Ridicare de la locație"
            },
            "cantitatea originala": {
                „număr”: „0”,
                "currency_code": "CZK",
                "formatat": "0,00Â KÄ"
            },
            "Cantitate": {
                „număr”: „0”,
                "currency_code": "CZK",
                "formatat": "0,00Â KÄ"
            },
            "Descriere": "",
            „date_livrare”: nul
        }
    },

Aș dori să adaug un câmp personalizat la fiecare metodă de expediere.

Ca urmare a acest tutorial, am încercat să creez un câmp calculat, ca acesta:

funcția custom_module_entity_base_field_info(EntityTypeInterface $entity_type) {

  if ($entity_type->id() === 'commerce_shipment') { // am încercat și 'shipping_rate_option'
    $fields['tooltip'] = BaseFieldDefinition::create('șir')
      ->setLabel(t('tooltip'))
      ->setReadOnly(TRUE)
      ->setComputed(TRUE)
      ->setClass(FieldTooltip::class);

    returnează $câmpuri;
  }

}

Și clasa mea este

/**
 * Clasa FieldTooltip.
 */
clasa FieldTooltip extinde FieldItemList {

  utilizați ComputedItemListTrait;

  /**
   * {@inheritdoc}
   */
  funcția protejată computeValue() {
    $this->list[0] = $this->createItem(0, 'tooltip text');
  }
}

Nu a făcut nimic. De asemenea, am încercat să creez un normalizator, dar nici asta nu a adus nicio schimbare.

Există vreo modalitate de a adăuga un câmp la acest răspuns?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.