How to display and save extension attributes on Magento 2 Admin create order pagemain.CRITICAL: Plugin class...
How do I keep an essay about "feeling flat" from feeling flat?
Confused about a passage in Harry Potter y la piedra filosofal
Greatest common substring
Student evaluations of teaching assistants
Using parameter substitution on a Bash array
Do there exist finite commutative rings with identity that are not Bézout rings?
Trouble understanding overseas colleagues
What is the oldest known work of fiction?
How can I use the arrow sign in my bash prompt?
Is a roofing delivery truck likely to crack my driveway slab?
Is it correct to write "is not focus on"?
Curses work by shouting - How to avoid collateral damage?
Why does John Bercow say “unlock” after reading out the results of a vote?
The baby cries all morning
What are the ramifications of creating a homebrew world without an Astral Plane?
Failed to fetch jessie backports repository
What would happen if the UK refused to take part in EU Parliamentary elections?
voltage of sounds of mp3files
Hostile work environment after whistle-blowing on coworker and our boss. What do I do?
How do I rename a LINUX host without needing to reboot for the rename to take effect?
Was the picture area of a CRT a parallelogram (instead of a true rectangle)?
If you attempt to grapple an opponent that you are hidden from, do they roll at disadvantage?
apt-get update is failing in debian
Go Pregnant or Go Home
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
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
add a comment |
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
add a comment |
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
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
magento2 magento2.2 adminhtml extension-attributes
edited 13 mins ago
Bhargava Rama
asked 21 hours ago
Bhargava RamaBhargava Rama
386
386
add a comment |
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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