How to display and save extension attributes on Magento 2 Admin create order pagemain.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

Using parameter substitution on a Bash array

What is the oldest known work of fiction?

Why are on-board computers allowed to change controls without notifying the pilots?

Will it be accepted, if there is no ''Main Character" stereotype?

Where in the Bible does the greeting ("Dominus Vobiscum") used at Mass come from?

What defines a dissertation?

Is HostGator storing my password in plaintext?

Everything Bob says is false. How does he get people to trust him?

Hostile work environment after whistle-blowing on coworker and our boss. What do I do?

How will losing mobility of one hand affect my career as a programmer?

What's the purpose of "true" in bash "if sudo true; then"

How do I rename a LINUX host without needing to reboot for the rename to take effect?

Stereotypical names

Can a monster with multiattack use this ability if they are missing a limb?

Student evaluations of teaching assistants

Was Spock the First Vulcan in Starfleet?

Personal Teleportation as a Weapon

How can I get through very long and very dry, but also very useful technical documents when learning a new tool?

Increase performance creating Mandelbrot set in python

Is there an Impartial Brexit Deal comparison site?

Confused about a passage in Harry Potter y la piedra filosofal

What does this 7 mean above the f flat

Teaching indefinite integrals that require special-casing

Have I saved too much for retirement so far?



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


main.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













1















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




























    1















    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


























      1












      1








      1


      1






      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 1 min ago







      Bhargava Rama

















      asked 20 hours ago









      Bhargava RamaBhargava Rama

      386




      386




















          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

          Can not update quote_id field of “quote_item” table magento 2Magento 2.1 - We can't remove the item. (Shopping Cart doesnt allow us to remove items before becomes empty)Add value for custom quote item attribute using REST apiREST API endpoint v1/carts/cartId/items always returns error messageCorrect way to save entries to databaseHow to remove all associated quote objects of a customer completelyMagento 2 - Save value from custom input field to quote_itemGet quote_item data using quote id and product id filter in Magento 2How to set additional data to quote_item table from controller in Magento 2?What is the purpose of additional_data column in quote_item table in magento2Set Custom Price to Quote item magento2 from controller

          Magento 2 disable Secret Key on URL's from terminal The Next CEO of Stack OverflowMagento 2 Shortcut/GUI tool to perform commandline tasks for windowsIn menu add configuration linkMagento oAuth : Generating access token and access secretMagento 2 security key issue in Third-Party API redirect URIPublic actions in admin controllersHow to Disable Cache in Custom WidgetURL Key not changing in Magento 2Product URL Key gets deleted when importing custom options - Magento 2Problem with reindex terminalMagento 2 - bin/magento Commands not working in Cpanel Terminal

          Aasi (pallopeli) Navigointivalikko