How to display and save extension attributes on Magento 2 Admin create order page The Next CEO of Stack Overflowmain.CRITICAL: Plugin class doesn't existMagento 2 : Problem while adding custom button order view page?Magento2 add custom address attributeAdding extension attributes to Order API EndpointAfter rewrite MagentoCustomerModelAccountManagement giving me fatal errorMagento 2 extension attributesMagento 2: How to override model resource configurable fileMagento 2.3 Can't view module's front end page output?Magento 2 How to disable price from orders, customer account and order view if custom module is enabled?Magento 2 : How to pass json ecoded array in custom API

Horror movie/show or scene where a horse creature opens its mouth really wide and devours a man in a stables

How to Reset Passwords on Multiple Websites Easily?

How do I solve this limit?

Can I equip Skullclamp on a creature I am sacrificing?

How to be diplomatic in refusing to write code that breaches the privacy of our users

Why didn't Khan get resurrected in the Genesis Explosion?

Describing a person. What needs to be mentioned?

Why does standard notation not preserve intervals (visually)

When airplanes disconnect from a tanker during air to air refueling, why do they bank so sharply to the right?

WOW air has ceased operation, can I get my tickets refunded?

Is it safe to use c_str() on a temporary string?

How do I go from 300 unfinished/half written blog posts, to published posts?

Only print output after finding pattern

Does it take more energy to get to Venus or to Mars?

What makes a siege story/plot interesting?

I believe this to be a fraud - hired, then asked to cash check and send cash as Bitcoin

Too much space between section and text in a twocolumn document

Was a professor correct to chastise me for writing "Prof. X" rather than "Professor X"?

Is it okay to store user locations?

% symbol leads to superlong (forever?) compilations

If I blow insulation everywhere in my attic except the door trap, will heat escape through it?

Unreliable Magic - Is it worth it?

MAZDA 3 2006 (UK) - poor acceleration then takes off at 3250 revs

The King's new dress



How to display and save extension attributes on Magento 2 Admin create order page



The Next CEO of Stack Overflowmain.CRITICAL: Plugin class doesn't existMagento 2 : Problem while adding custom button order view page?Magento2 add custom address attributeAdding extension attributes to Order API EndpointAfter rewrite MagentoCustomerModelAccountManagement giving me fatal errorMagento 2 extension attributesMagento 2: How to override model resource configurable fileMagento 2.3 Can't view module's front end page output?Magento 2 How to disable price from orders, customer account and order view if custom module is enabled?Magento 2 : How to pass json ecoded array in custom API










2















I have created extension attributes to order for rest API services. Also, I'm able to display the attributes on the order grid.



How can I display the same attributes on admin create order form and save it?



Here is my extension_attributes.xml file



<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Api/etc/extension_attributes.xsd">
<extension_attributes for="MagentoCheckoutApiDataShippingInformationInterface">
<attribute code="delivery_day_slot" type="string"/>
</extension_attributes>

<extension_attributes for="MagentoSalesApiDataOrderInterface">
<attribute code="delivery_day_slot" type="string"/>
</extension_attributes>
</config>


And, I'm saving the data using plugin



<type name="MagentoCheckoutModelShippingInformationManagement">
<plugin name="NM_save_delivery_slot_in_quote" type="<Namespace><ModuleName>PluginCheckoutModelShippingInformationManagement" sortOrder="1"/>
</type>


NamespaceModuleNamePluginCheckoutModelShippingInformationManagement



namespace <Namespace><ModuleName>PluginCheckoutModel;

class ShippingInformationManagement

protected $quoteRepository;

public function __construct(
MagentoQuoteModelQuoteRepository $quoteRepository,
MagentoCheckoutApiDataShippingInformationExtensionFactory $shpExtensionFactory,
PsrLogLoggerInterface $logger
)
$this->quoteRepository = $quoteRepository;
$this->shpExtensionFactory = $shpExtensionFactory;
$this->logger = $logger;


/**
* @param MagentoCheckoutModelShippingInformationManagement $subject
* @param $cartId
* @param MagentoCheckoutApiDataShippingInformationInterface $addressInformation
*/
public function beforeSaveAddressInformation(
MagentoCheckoutModelShippingInformationManagement $subject,
$cartId,
MagentoCheckoutApiDataShippingInformationInterface $addressInformation
)

$extensionAttributes = $addressInformation->getExtensionAttributes();
$shipExtension = $extensionAttributes ? $extensionAttributes : $this->shpExtensionFactory->create();

$payload = file_get_contents("php://input");
$attr = json_decode($payload, true);
if(isset($attr["extension_attributes"]))
$deliveryDaySlot = $attr["extension_attributes"]["delivery_day_slot"];

$addressInformation->setDeliveryDaySlot($deliveryDaySlot);
$quote = $this->quoteRepository->getActive($cartId);
$quote->setDeliveryDaySlot($deliveryDaySlot);



return;




Can any one please suggest a best approach?



Thanks in advance










share|improve this question




























    2















    I have created extension attributes to order for rest API services. Also, I'm able to display the attributes on the order grid.



    How can I display the same attributes on admin create order form and save it?



    Here is my extension_attributes.xml file



    <?xml version="1.0"?>
    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Api/etc/extension_attributes.xsd">
    <extension_attributes for="MagentoCheckoutApiDataShippingInformationInterface">
    <attribute code="delivery_day_slot" type="string"/>
    </extension_attributes>

    <extension_attributes for="MagentoSalesApiDataOrderInterface">
    <attribute code="delivery_day_slot" type="string"/>
    </extension_attributes>
    </config>


    And, I'm saving the data using plugin



    <type name="MagentoCheckoutModelShippingInformationManagement">
    <plugin name="NM_save_delivery_slot_in_quote" type="<Namespace><ModuleName>PluginCheckoutModelShippingInformationManagement" sortOrder="1"/>
    </type>


    NamespaceModuleNamePluginCheckoutModelShippingInformationManagement



    namespace <Namespace><ModuleName>PluginCheckoutModel;

    class ShippingInformationManagement

    protected $quoteRepository;

    public function __construct(
    MagentoQuoteModelQuoteRepository $quoteRepository,
    MagentoCheckoutApiDataShippingInformationExtensionFactory $shpExtensionFactory,
    PsrLogLoggerInterface $logger
    )
    $this->quoteRepository = $quoteRepository;
    $this->shpExtensionFactory = $shpExtensionFactory;
    $this->logger = $logger;


    /**
    * @param MagentoCheckoutModelShippingInformationManagement $subject
    * @param $cartId
    * @param MagentoCheckoutApiDataShippingInformationInterface $addressInformation
    */
    public function beforeSaveAddressInformation(
    MagentoCheckoutModelShippingInformationManagement $subject,
    $cartId,
    MagentoCheckoutApiDataShippingInformationInterface $addressInformation
    )

    $extensionAttributes = $addressInformation->getExtensionAttributes();
    $shipExtension = $extensionAttributes ? $extensionAttributes : $this->shpExtensionFactory->create();

    $payload = file_get_contents("php://input");
    $attr = json_decode($payload, true);
    if(isset($attr["extension_attributes"]))
    $deliveryDaySlot = $attr["extension_attributes"]["delivery_day_slot"];

    $addressInformation->setDeliveryDaySlot($deliveryDaySlot);
    $quote = $this->quoteRepository->getActive($cartId);
    $quote->setDeliveryDaySlot($deliveryDaySlot);



    return;




    Can any one please suggest a best approach?



    Thanks in advance










    share|improve this question


























      2












      2








      2


      0






      I have created extension attributes to order for rest API services. Also, I'm able to display the attributes on the order grid.



      How can I display the same attributes on admin create order form and save it?



      Here is my extension_attributes.xml file



      <?xml version="1.0"?>
      <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Api/etc/extension_attributes.xsd">
      <extension_attributes for="MagentoCheckoutApiDataShippingInformationInterface">
      <attribute code="delivery_day_slot" type="string"/>
      </extension_attributes>

      <extension_attributes for="MagentoSalesApiDataOrderInterface">
      <attribute code="delivery_day_slot" type="string"/>
      </extension_attributes>
      </config>


      And, I'm saving the data using plugin



      <type name="MagentoCheckoutModelShippingInformationManagement">
      <plugin name="NM_save_delivery_slot_in_quote" type="<Namespace><ModuleName>PluginCheckoutModelShippingInformationManagement" sortOrder="1"/>
      </type>


      NamespaceModuleNamePluginCheckoutModelShippingInformationManagement



      namespace <Namespace><ModuleName>PluginCheckoutModel;

      class ShippingInformationManagement

      protected $quoteRepository;

      public function __construct(
      MagentoQuoteModelQuoteRepository $quoteRepository,
      MagentoCheckoutApiDataShippingInformationExtensionFactory $shpExtensionFactory,
      PsrLogLoggerInterface $logger
      )
      $this->quoteRepository = $quoteRepository;
      $this->shpExtensionFactory = $shpExtensionFactory;
      $this->logger = $logger;


      /**
      * @param MagentoCheckoutModelShippingInformationManagement $subject
      * @param $cartId
      * @param MagentoCheckoutApiDataShippingInformationInterface $addressInformation
      */
      public function beforeSaveAddressInformation(
      MagentoCheckoutModelShippingInformationManagement $subject,
      $cartId,
      MagentoCheckoutApiDataShippingInformationInterface $addressInformation
      )

      $extensionAttributes = $addressInformation->getExtensionAttributes();
      $shipExtension = $extensionAttributes ? $extensionAttributes : $this->shpExtensionFactory->create();

      $payload = file_get_contents("php://input");
      $attr = json_decode($payload, true);
      if(isset($attr["extension_attributes"]))
      $deliveryDaySlot = $attr["extension_attributes"]["delivery_day_slot"];

      $addressInformation->setDeliveryDaySlot($deliveryDaySlot);
      $quote = $this->quoteRepository->getActive($cartId);
      $quote->setDeliveryDaySlot($deliveryDaySlot);



      return;




      Can any one please suggest a best approach?



      Thanks in advance










      share|improve this question
















      I have created extension attributes to order for rest API services. Also, I'm able to display the attributes on the order grid.



      How can I display the same attributes on admin create order form and save it?



      Here is my extension_attributes.xml file



      <?xml version="1.0"?>
      <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Api/etc/extension_attributes.xsd">
      <extension_attributes for="MagentoCheckoutApiDataShippingInformationInterface">
      <attribute code="delivery_day_slot" type="string"/>
      </extension_attributes>

      <extension_attributes for="MagentoSalesApiDataOrderInterface">
      <attribute code="delivery_day_slot" type="string"/>
      </extension_attributes>
      </config>


      And, I'm saving the data using plugin



      <type name="MagentoCheckoutModelShippingInformationManagement">
      <plugin name="NM_save_delivery_slot_in_quote" type="<Namespace><ModuleName>PluginCheckoutModelShippingInformationManagement" sortOrder="1"/>
      </type>


      NamespaceModuleNamePluginCheckoutModelShippingInformationManagement



      namespace <Namespace><ModuleName>PluginCheckoutModel;

      class ShippingInformationManagement

      protected $quoteRepository;

      public function __construct(
      MagentoQuoteModelQuoteRepository $quoteRepository,
      MagentoCheckoutApiDataShippingInformationExtensionFactory $shpExtensionFactory,
      PsrLogLoggerInterface $logger
      )
      $this->quoteRepository = $quoteRepository;
      $this->shpExtensionFactory = $shpExtensionFactory;
      $this->logger = $logger;


      /**
      * @param MagentoCheckoutModelShippingInformationManagement $subject
      * @param $cartId
      * @param MagentoCheckoutApiDataShippingInformationInterface $addressInformation
      */
      public function beforeSaveAddressInformation(
      MagentoCheckoutModelShippingInformationManagement $subject,
      $cartId,
      MagentoCheckoutApiDataShippingInformationInterface $addressInformation
      )

      $extensionAttributes = $addressInformation->getExtensionAttributes();
      $shipExtension = $extensionAttributes ? $extensionAttributes : $this->shpExtensionFactory->create();

      $payload = file_get_contents("php://input");
      $attr = json_decode($payload, true);
      if(isset($attr["extension_attributes"]))
      $deliveryDaySlot = $attr["extension_attributes"]["delivery_day_slot"];

      $addressInformation->setDeliveryDaySlot($deliveryDaySlot);
      $quote = $this->quoteRepository->getActive($cartId);
      $quote->setDeliveryDaySlot($deliveryDaySlot);



      return;




      Can any one please suggest a best approach?



      Thanks in advance







      magento2 magento2.2 adminhtml extension-attributes






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited yesterday







      Bhargava Rama

















      asked 2 days ago









      Bhargava RamaBhargava Rama

      786




      786




















          0






          active

          oldest

          votes












          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "479"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f267404%2fhow-to-display-and-save-extension-attributes-on-magento-2-admin-create-order-pag%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Magento Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f267404%2fhow-to-display-and-save-extension-attributes-on-magento-2-admin-create-order-pag%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Sum ergo cogito? 1 nng

          419 nièngy_Soadمي 19bal1.5o_g

          Queiggey Chernihivv 9NnOo i Zw X QqKk LpB