How to add more information to Order Information page (Admin and Customer)
I'm super noob in Magento module development, but I'm working on a custom payment module that grabs some payment information on checkout into "additional_information", using this Observer:
class DataAssignObserver extends AbstractDataAssignObserver
{
/**
* @param Observer $observer
* @return void
*/
public function execute(Observer $observer)
{
$method = $this->readMethodArgument($observer);
$data = $this->readDataArgument($observer);
$additionalData = $data->getData(PaymentInterface::KEY_ADDITIONAL_DATA);
if (!is_array($additionalData)) {
return;
}
// $paymentModel = $this->readPaymentModelArgument($observer); // Magento 2.1 ONLY
$paymentInfo = $method->getInfoInstance();
// $paymentModel->setAdditionalInformation(
$paymentInfo->setAdditionalInformation(
$additionalData
);
}
}
Is there a detailed example on how to pull this information into the Order information pages, admin and customer side?
I know a few bits and pieces, like $paymentInfo->getAdditionalInformation()
, but I'd really like to have a detailed example for it.
magento-2.1 orders custom payment-methods payment
|
show 2 more comments
I'm super noob in Magento module development, but I'm working on a custom payment module that grabs some payment information on checkout into "additional_information", using this Observer:
class DataAssignObserver extends AbstractDataAssignObserver
{
/**
* @param Observer $observer
* @return void
*/
public function execute(Observer $observer)
{
$method = $this->readMethodArgument($observer);
$data = $this->readDataArgument($observer);
$additionalData = $data->getData(PaymentInterface::KEY_ADDITIONAL_DATA);
if (!is_array($additionalData)) {
return;
}
// $paymentModel = $this->readPaymentModelArgument($observer); // Magento 2.1 ONLY
$paymentInfo = $method->getInfoInstance();
// $paymentModel->setAdditionalInformation(
$paymentInfo->setAdditionalInformation(
$additionalData
);
}
}
Is there a detailed example on how to pull this information into the Order information pages, admin and customer side?
I know a few bits and pieces, like $paymentInfo->getAdditionalInformation()
, but I'd really like to have a detailed example for it.
magento-2.1 orders custom payment-methods payment
do you want to show the additional information on order page(adminhtml)?
– Bojjaiah
Feb 21 '17 at 9:39
Yes, adminhtml and frontend
– Marco Ferreira
Feb 22 '17 at 19:06
which place do you want to show?
– Bojjaiah
Feb 23 '17 at 4:56
Well, ideally to the "Payment Information" on the adminhtml side and "Payment Method" on the frontend side. Basically the same way you get credit card information when you use credit card.
– Marco Ferreira
Feb 24 '17 at 5:14
see example magento.stackexchange.com/questions/76434/…
– Bojjaiah
Feb 24 '17 at 6:51
|
show 2 more comments
I'm super noob in Magento module development, but I'm working on a custom payment module that grabs some payment information on checkout into "additional_information", using this Observer:
class DataAssignObserver extends AbstractDataAssignObserver
{
/**
* @param Observer $observer
* @return void
*/
public function execute(Observer $observer)
{
$method = $this->readMethodArgument($observer);
$data = $this->readDataArgument($observer);
$additionalData = $data->getData(PaymentInterface::KEY_ADDITIONAL_DATA);
if (!is_array($additionalData)) {
return;
}
// $paymentModel = $this->readPaymentModelArgument($observer); // Magento 2.1 ONLY
$paymentInfo = $method->getInfoInstance();
// $paymentModel->setAdditionalInformation(
$paymentInfo->setAdditionalInformation(
$additionalData
);
}
}
Is there a detailed example on how to pull this information into the Order information pages, admin and customer side?
I know a few bits and pieces, like $paymentInfo->getAdditionalInformation()
, but I'd really like to have a detailed example for it.
magento-2.1 orders custom payment-methods payment
I'm super noob in Magento module development, but I'm working on a custom payment module that grabs some payment information on checkout into "additional_information", using this Observer:
class DataAssignObserver extends AbstractDataAssignObserver
{
/**
* @param Observer $observer
* @return void
*/
public function execute(Observer $observer)
{
$method = $this->readMethodArgument($observer);
$data = $this->readDataArgument($observer);
$additionalData = $data->getData(PaymentInterface::KEY_ADDITIONAL_DATA);
if (!is_array($additionalData)) {
return;
}
// $paymentModel = $this->readPaymentModelArgument($observer); // Magento 2.1 ONLY
$paymentInfo = $method->getInfoInstance();
// $paymentModel->setAdditionalInformation(
$paymentInfo->setAdditionalInformation(
$additionalData
);
}
}
Is there a detailed example on how to pull this information into the Order information pages, admin and customer side?
I know a few bits and pieces, like $paymentInfo->getAdditionalInformation()
, but I'd really like to have a detailed example for it.
magento-2.1 orders custom payment-methods payment
magento-2.1 orders custom payment-methods payment
asked Feb 20 '17 at 20:45
Marco FerreiraMarco Ferreira
11
11
do you want to show the additional information on order page(adminhtml)?
– Bojjaiah
Feb 21 '17 at 9:39
Yes, adminhtml and frontend
– Marco Ferreira
Feb 22 '17 at 19:06
which place do you want to show?
– Bojjaiah
Feb 23 '17 at 4:56
Well, ideally to the "Payment Information" on the adminhtml side and "Payment Method" on the frontend side. Basically the same way you get credit card information when you use credit card.
– Marco Ferreira
Feb 24 '17 at 5:14
see example magento.stackexchange.com/questions/76434/…
– Bojjaiah
Feb 24 '17 at 6:51
|
show 2 more comments
do you want to show the additional information on order page(adminhtml)?
– Bojjaiah
Feb 21 '17 at 9:39
Yes, adminhtml and frontend
– Marco Ferreira
Feb 22 '17 at 19:06
which place do you want to show?
– Bojjaiah
Feb 23 '17 at 4:56
Well, ideally to the "Payment Information" on the adminhtml side and "Payment Method" on the frontend side. Basically the same way you get credit card information when you use credit card.
– Marco Ferreira
Feb 24 '17 at 5:14
see example magento.stackexchange.com/questions/76434/…
– Bojjaiah
Feb 24 '17 at 6:51
do you want to show the additional information on order page(adminhtml)?
– Bojjaiah
Feb 21 '17 at 9:39
do you want to show the additional information on order page(adminhtml)?
– Bojjaiah
Feb 21 '17 at 9:39
Yes, adminhtml and frontend
– Marco Ferreira
Feb 22 '17 at 19:06
Yes, adminhtml and frontend
– Marco Ferreira
Feb 22 '17 at 19:06
which place do you want to show?
– Bojjaiah
Feb 23 '17 at 4:56
which place do you want to show?
– Bojjaiah
Feb 23 '17 at 4:56
Well, ideally to the "Payment Information" on the adminhtml side and "Payment Method" on the frontend side. Basically the same way you get credit card information when you use credit card.
– Marco Ferreira
Feb 24 '17 at 5:14
Well, ideally to the "Payment Information" on the adminhtml side and "Payment Method" on the frontend side. Basically the same way you get credit card information when you use credit card.
– Marco Ferreira
Feb 24 '17 at 5:14
see example magento.stackexchange.com/questions/76434/…
– Bojjaiah
Feb 24 '17 at 6:51
see example magento.stackexchange.com/questions/76434/…
– Bojjaiah
Feb 24 '17 at 6:51
|
show 2 more comments
2 Answers
2
active
oldest
votes
you can pull the information by extending Payment Method Block.
registration.php
<?php
MagentoFrameworkComponentComponentRegistrar::register(
MagentoFrameworkComponentComponentRegistrar::MODULE,
'[VendorName]_[ModuleName]',
__DIR__
);
Info.php
<?php
namespace [VendorName][ModuleName]BlockAdminhtmlOrderViewTab;
class Info extends MagentoSalesBlockAdminhtmlOrderViewTabInfo{
}
etc/adminhtml/di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="MagentoSalesBlockAdminhtmlOrderViewTabInfo" type="[VendorName][ModuleName]BlockAdminhtmlOrderViewTabInfo" />
</config>
view/adminhtml/layout/sales_order_view.xml
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-2columns-left" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="order_tab_info">
<action method="setTemplate">
<argument name="template" translate="true" xsi:type="string">order/view/tab/Info.phtml</argument>
</action>
</referenceBlock>
</body>
</page>
view/adminhtml/templates/order/view/tab/Info.phtml
<?php
/**
* Copyright © 2016 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
// @codingStandardsIgnoreFile
?>
<?php /** @var $block MagentoSalesBlockAdminhtmlOrderViewTabInfo */ ?>
<?php $_order = $block->getOrder() ?>
<div id="order-messages">
<?php echo $block->getChildHtml('order_messages') ?>
</div>
<?php echo $block->getChildHtml('order_info') ?>
<input type="hidden" name="order_id" value="<?php /* @escapeNotVerified */ echo $_order->getId() ?>"/>
<section class="admin__page-section order-view-billing-shipping">
<div class="admin__page-section-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Payment & Shipping Method') ?></span>
</div>
<!-- this is Sample Text -->
<h1>Magento 2 Custom Payment Text</h1>
<div class="admin__page-section-content">
<div class="admin__page-section-item order-payment-method<?php if ($_order->getIsVirtual()): ?> order-payment-method-virtual<?php endif; ?>">
<?php /* Payment Method */ ?>
<div class="admin__page-section-item-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Payment Information') ?></span>
</div>
<div class="admin__page-section-item-content">
<div class="order-payment-method-title"><?php echo $block->getPaymentHtml() ?></div>
<div class="order-payment-currency"><?php /* @escapeNotVerified */ echo __('The order was placed using %1.', $_order->getOrderCurrencyCode()) ?></div>
<div class="order-payment-additional">
<?php echo $block->getChildHtml('order_payment_additional'); ?>
<?php echo $block->getChildHtml('payment_additional_info'); ?>
</div>
</div>
</div>
<?php echo $block->getChildHtml('order_shipping_view') ?>
</div>
</section>
<?php echo $block->getGiftOptionsHtml() ?>
<section class="admin__page-section">
<div class="admin__page-section-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Items Ordered') ?></span>
</div>
<?php echo $block->getItemsHtml() ?>
</section>
<section class="admin__page-section">
<div class="admin__page-section-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Order Total') ?></span>
</div>
<div class="admin__page-section-content">
<div class="admin__page-section-item order-comments-history">
<div class="admin__page-section-item-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Notes for this Order') ?></span>
</div>
<?php echo $block->getChildHtml('order_history') ?>
</div>
<div class="admin__page-section-item order-totals">
<div class="admin__page-section-item-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Order Totals') ?></span>
</div>
<?php echo $block->getChildHtml('order_totals') ?>
</div>
</div>
</section>
<?php echo $block->getChildHtml('popup_window');?>
<script>
require([
"prototype",
"Magento_Sales/order/giftoptions_tooltip"
], function(){
//<![CDATA[
/**
* Retrieve gift options tooltip content
*/
function getGiftOptionsTooltipContent(itemId) {
var contentLines = ;
var headerLine = null;
var contentLine = null;
$$('#gift_options_data_' + itemId + ' .gift-options-tooltip-content').each(function (element) {
if (element.down(0)) {
headerLine = element.down(0).innerHTML;
contentLine = element.down(0).next().innerHTML;
if (contentLine.length > 30) {
contentLine = contentLine.slice(0,30) + '...';
}
contentLines.push(headerLine + ' ' + contentLine);
}
});
return contentLines.join('<br/>');
}
giftOptionsTooltip.setTooltipContentLoaderFunction(getGiftOptionsTooltipContent);
window.getGiftOptionsTooltipContent = getGiftOptionsTooltipContent;
//]]>
});
</script>
By this way you can override the Payment Section.
Thank you. I'll try this out tonight and give some feedback.
– Marco Ferreira
Feb 28 '17 at 20:35
Sorry, but only now I could get back to this. Three issues I'm having: 1. After following the sample code/files you posted I got the excepptionReflectionException: Class [...]BlockAdminhtmlOrderViewTabInfo does not exist
. 2. Removing<preference for="MagentoSalesBlockAdminhtmlOrderViewTabInfo" type="[...]BlockAdminhtmlOrderViewTabInfo" />
from etc/adminhtml/di.xml fixed the exception, but the order info page is empty. 3. Finally, in Info.php, I already have a namespace defined asnamespace [VendorName][ModuleName]Block;
. How would I go about these?
– Marco Ferreira
May 7 '17 at 14:59
add a comment |
Add vendor_name in view/adminhtml/layout/sales_order_view.xml
vendor_name::order/view/tab/Info.phtml
This solve the blank page in order info.
New contributor
add a comment |
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%2f160871%2fhow-to-add-more-information-to-order-information-page-admin-and-customer%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
you can pull the information by extending Payment Method Block.
registration.php
<?php
MagentoFrameworkComponentComponentRegistrar::register(
MagentoFrameworkComponentComponentRegistrar::MODULE,
'[VendorName]_[ModuleName]',
__DIR__
);
Info.php
<?php
namespace [VendorName][ModuleName]BlockAdminhtmlOrderViewTab;
class Info extends MagentoSalesBlockAdminhtmlOrderViewTabInfo{
}
etc/adminhtml/di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="MagentoSalesBlockAdminhtmlOrderViewTabInfo" type="[VendorName][ModuleName]BlockAdminhtmlOrderViewTabInfo" />
</config>
view/adminhtml/layout/sales_order_view.xml
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-2columns-left" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="order_tab_info">
<action method="setTemplate">
<argument name="template" translate="true" xsi:type="string">order/view/tab/Info.phtml</argument>
</action>
</referenceBlock>
</body>
</page>
view/adminhtml/templates/order/view/tab/Info.phtml
<?php
/**
* Copyright © 2016 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
// @codingStandardsIgnoreFile
?>
<?php /** @var $block MagentoSalesBlockAdminhtmlOrderViewTabInfo */ ?>
<?php $_order = $block->getOrder() ?>
<div id="order-messages">
<?php echo $block->getChildHtml('order_messages') ?>
</div>
<?php echo $block->getChildHtml('order_info') ?>
<input type="hidden" name="order_id" value="<?php /* @escapeNotVerified */ echo $_order->getId() ?>"/>
<section class="admin__page-section order-view-billing-shipping">
<div class="admin__page-section-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Payment & Shipping Method') ?></span>
</div>
<!-- this is Sample Text -->
<h1>Magento 2 Custom Payment Text</h1>
<div class="admin__page-section-content">
<div class="admin__page-section-item order-payment-method<?php if ($_order->getIsVirtual()): ?> order-payment-method-virtual<?php endif; ?>">
<?php /* Payment Method */ ?>
<div class="admin__page-section-item-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Payment Information') ?></span>
</div>
<div class="admin__page-section-item-content">
<div class="order-payment-method-title"><?php echo $block->getPaymentHtml() ?></div>
<div class="order-payment-currency"><?php /* @escapeNotVerified */ echo __('The order was placed using %1.', $_order->getOrderCurrencyCode()) ?></div>
<div class="order-payment-additional">
<?php echo $block->getChildHtml('order_payment_additional'); ?>
<?php echo $block->getChildHtml('payment_additional_info'); ?>
</div>
</div>
</div>
<?php echo $block->getChildHtml('order_shipping_view') ?>
</div>
</section>
<?php echo $block->getGiftOptionsHtml() ?>
<section class="admin__page-section">
<div class="admin__page-section-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Items Ordered') ?></span>
</div>
<?php echo $block->getItemsHtml() ?>
</section>
<section class="admin__page-section">
<div class="admin__page-section-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Order Total') ?></span>
</div>
<div class="admin__page-section-content">
<div class="admin__page-section-item order-comments-history">
<div class="admin__page-section-item-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Notes for this Order') ?></span>
</div>
<?php echo $block->getChildHtml('order_history') ?>
</div>
<div class="admin__page-section-item order-totals">
<div class="admin__page-section-item-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Order Totals') ?></span>
</div>
<?php echo $block->getChildHtml('order_totals') ?>
</div>
</div>
</section>
<?php echo $block->getChildHtml('popup_window');?>
<script>
require([
"prototype",
"Magento_Sales/order/giftoptions_tooltip"
], function(){
//<![CDATA[
/**
* Retrieve gift options tooltip content
*/
function getGiftOptionsTooltipContent(itemId) {
var contentLines = ;
var headerLine = null;
var contentLine = null;
$$('#gift_options_data_' + itemId + ' .gift-options-tooltip-content').each(function (element) {
if (element.down(0)) {
headerLine = element.down(0).innerHTML;
contentLine = element.down(0).next().innerHTML;
if (contentLine.length > 30) {
contentLine = contentLine.slice(0,30) + '...';
}
contentLines.push(headerLine + ' ' + contentLine);
}
});
return contentLines.join('<br/>');
}
giftOptionsTooltip.setTooltipContentLoaderFunction(getGiftOptionsTooltipContent);
window.getGiftOptionsTooltipContent = getGiftOptionsTooltipContent;
//]]>
});
</script>
By this way you can override the Payment Section.
Thank you. I'll try this out tonight and give some feedback.
– Marco Ferreira
Feb 28 '17 at 20:35
Sorry, but only now I could get back to this. Three issues I'm having: 1. After following the sample code/files you posted I got the excepptionReflectionException: Class [...]BlockAdminhtmlOrderViewTabInfo does not exist
. 2. Removing<preference for="MagentoSalesBlockAdminhtmlOrderViewTabInfo" type="[...]BlockAdminhtmlOrderViewTabInfo" />
from etc/adminhtml/di.xml fixed the exception, but the order info page is empty. 3. Finally, in Info.php, I already have a namespace defined asnamespace [VendorName][ModuleName]Block;
. How would I go about these?
– Marco Ferreira
May 7 '17 at 14:59
add a comment |
you can pull the information by extending Payment Method Block.
registration.php
<?php
MagentoFrameworkComponentComponentRegistrar::register(
MagentoFrameworkComponentComponentRegistrar::MODULE,
'[VendorName]_[ModuleName]',
__DIR__
);
Info.php
<?php
namespace [VendorName][ModuleName]BlockAdminhtmlOrderViewTab;
class Info extends MagentoSalesBlockAdminhtmlOrderViewTabInfo{
}
etc/adminhtml/di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="MagentoSalesBlockAdminhtmlOrderViewTabInfo" type="[VendorName][ModuleName]BlockAdminhtmlOrderViewTabInfo" />
</config>
view/adminhtml/layout/sales_order_view.xml
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-2columns-left" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="order_tab_info">
<action method="setTemplate">
<argument name="template" translate="true" xsi:type="string">order/view/tab/Info.phtml</argument>
</action>
</referenceBlock>
</body>
</page>
view/adminhtml/templates/order/view/tab/Info.phtml
<?php
/**
* Copyright © 2016 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
// @codingStandardsIgnoreFile
?>
<?php /** @var $block MagentoSalesBlockAdminhtmlOrderViewTabInfo */ ?>
<?php $_order = $block->getOrder() ?>
<div id="order-messages">
<?php echo $block->getChildHtml('order_messages') ?>
</div>
<?php echo $block->getChildHtml('order_info') ?>
<input type="hidden" name="order_id" value="<?php /* @escapeNotVerified */ echo $_order->getId() ?>"/>
<section class="admin__page-section order-view-billing-shipping">
<div class="admin__page-section-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Payment & Shipping Method') ?></span>
</div>
<!-- this is Sample Text -->
<h1>Magento 2 Custom Payment Text</h1>
<div class="admin__page-section-content">
<div class="admin__page-section-item order-payment-method<?php if ($_order->getIsVirtual()): ?> order-payment-method-virtual<?php endif; ?>">
<?php /* Payment Method */ ?>
<div class="admin__page-section-item-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Payment Information') ?></span>
</div>
<div class="admin__page-section-item-content">
<div class="order-payment-method-title"><?php echo $block->getPaymentHtml() ?></div>
<div class="order-payment-currency"><?php /* @escapeNotVerified */ echo __('The order was placed using %1.', $_order->getOrderCurrencyCode()) ?></div>
<div class="order-payment-additional">
<?php echo $block->getChildHtml('order_payment_additional'); ?>
<?php echo $block->getChildHtml('payment_additional_info'); ?>
</div>
</div>
</div>
<?php echo $block->getChildHtml('order_shipping_view') ?>
</div>
</section>
<?php echo $block->getGiftOptionsHtml() ?>
<section class="admin__page-section">
<div class="admin__page-section-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Items Ordered') ?></span>
</div>
<?php echo $block->getItemsHtml() ?>
</section>
<section class="admin__page-section">
<div class="admin__page-section-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Order Total') ?></span>
</div>
<div class="admin__page-section-content">
<div class="admin__page-section-item order-comments-history">
<div class="admin__page-section-item-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Notes for this Order') ?></span>
</div>
<?php echo $block->getChildHtml('order_history') ?>
</div>
<div class="admin__page-section-item order-totals">
<div class="admin__page-section-item-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Order Totals') ?></span>
</div>
<?php echo $block->getChildHtml('order_totals') ?>
</div>
</div>
</section>
<?php echo $block->getChildHtml('popup_window');?>
<script>
require([
"prototype",
"Magento_Sales/order/giftoptions_tooltip"
], function(){
//<![CDATA[
/**
* Retrieve gift options tooltip content
*/
function getGiftOptionsTooltipContent(itemId) {
var contentLines = ;
var headerLine = null;
var contentLine = null;
$$('#gift_options_data_' + itemId + ' .gift-options-tooltip-content').each(function (element) {
if (element.down(0)) {
headerLine = element.down(0).innerHTML;
contentLine = element.down(0).next().innerHTML;
if (contentLine.length > 30) {
contentLine = contentLine.slice(0,30) + '...';
}
contentLines.push(headerLine + ' ' + contentLine);
}
});
return contentLines.join('<br/>');
}
giftOptionsTooltip.setTooltipContentLoaderFunction(getGiftOptionsTooltipContent);
window.getGiftOptionsTooltipContent = getGiftOptionsTooltipContent;
//]]>
});
</script>
By this way you can override the Payment Section.
Thank you. I'll try this out tonight and give some feedback.
– Marco Ferreira
Feb 28 '17 at 20:35
Sorry, but only now I could get back to this. Three issues I'm having: 1. After following the sample code/files you posted I got the excepptionReflectionException: Class [...]BlockAdminhtmlOrderViewTabInfo does not exist
. 2. Removing<preference for="MagentoSalesBlockAdminhtmlOrderViewTabInfo" type="[...]BlockAdminhtmlOrderViewTabInfo" />
from etc/adminhtml/di.xml fixed the exception, but the order info page is empty. 3. Finally, in Info.php, I already have a namespace defined asnamespace [VendorName][ModuleName]Block;
. How would I go about these?
– Marco Ferreira
May 7 '17 at 14:59
add a comment |
you can pull the information by extending Payment Method Block.
registration.php
<?php
MagentoFrameworkComponentComponentRegistrar::register(
MagentoFrameworkComponentComponentRegistrar::MODULE,
'[VendorName]_[ModuleName]',
__DIR__
);
Info.php
<?php
namespace [VendorName][ModuleName]BlockAdminhtmlOrderViewTab;
class Info extends MagentoSalesBlockAdminhtmlOrderViewTabInfo{
}
etc/adminhtml/di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="MagentoSalesBlockAdminhtmlOrderViewTabInfo" type="[VendorName][ModuleName]BlockAdminhtmlOrderViewTabInfo" />
</config>
view/adminhtml/layout/sales_order_view.xml
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-2columns-left" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="order_tab_info">
<action method="setTemplate">
<argument name="template" translate="true" xsi:type="string">order/view/tab/Info.phtml</argument>
</action>
</referenceBlock>
</body>
</page>
view/adminhtml/templates/order/view/tab/Info.phtml
<?php
/**
* Copyright © 2016 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
// @codingStandardsIgnoreFile
?>
<?php /** @var $block MagentoSalesBlockAdminhtmlOrderViewTabInfo */ ?>
<?php $_order = $block->getOrder() ?>
<div id="order-messages">
<?php echo $block->getChildHtml('order_messages') ?>
</div>
<?php echo $block->getChildHtml('order_info') ?>
<input type="hidden" name="order_id" value="<?php /* @escapeNotVerified */ echo $_order->getId() ?>"/>
<section class="admin__page-section order-view-billing-shipping">
<div class="admin__page-section-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Payment & Shipping Method') ?></span>
</div>
<!-- this is Sample Text -->
<h1>Magento 2 Custom Payment Text</h1>
<div class="admin__page-section-content">
<div class="admin__page-section-item order-payment-method<?php if ($_order->getIsVirtual()): ?> order-payment-method-virtual<?php endif; ?>">
<?php /* Payment Method */ ?>
<div class="admin__page-section-item-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Payment Information') ?></span>
</div>
<div class="admin__page-section-item-content">
<div class="order-payment-method-title"><?php echo $block->getPaymentHtml() ?></div>
<div class="order-payment-currency"><?php /* @escapeNotVerified */ echo __('The order was placed using %1.', $_order->getOrderCurrencyCode()) ?></div>
<div class="order-payment-additional">
<?php echo $block->getChildHtml('order_payment_additional'); ?>
<?php echo $block->getChildHtml('payment_additional_info'); ?>
</div>
</div>
</div>
<?php echo $block->getChildHtml('order_shipping_view') ?>
</div>
</section>
<?php echo $block->getGiftOptionsHtml() ?>
<section class="admin__page-section">
<div class="admin__page-section-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Items Ordered') ?></span>
</div>
<?php echo $block->getItemsHtml() ?>
</section>
<section class="admin__page-section">
<div class="admin__page-section-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Order Total') ?></span>
</div>
<div class="admin__page-section-content">
<div class="admin__page-section-item order-comments-history">
<div class="admin__page-section-item-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Notes for this Order') ?></span>
</div>
<?php echo $block->getChildHtml('order_history') ?>
</div>
<div class="admin__page-section-item order-totals">
<div class="admin__page-section-item-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Order Totals') ?></span>
</div>
<?php echo $block->getChildHtml('order_totals') ?>
</div>
</div>
</section>
<?php echo $block->getChildHtml('popup_window');?>
<script>
require([
"prototype",
"Magento_Sales/order/giftoptions_tooltip"
], function(){
//<![CDATA[
/**
* Retrieve gift options tooltip content
*/
function getGiftOptionsTooltipContent(itemId) {
var contentLines = ;
var headerLine = null;
var contentLine = null;
$$('#gift_options_data_' + itemId + ' .gift-options-tooltip-content').each(function (element) {
if (element.down(0)) {
headerLine = element.down(0).innerHTML;
contentLine = element.down(0).next().innerHTML;
if (contentLine.length > 30) {
contentLine = contentLine.slice(0,30) + '...';
}
contentLines.push(headerLine + ' ' + contentLine);
}
});
return contentLines.join('<br/>');
}
giftOptionsTooltip.setTooltipContentLoaderFunction(getGiftOptionsTooltipContent);
window.getGiftOptionsTooltipContent = getGiftOptionsTooltipContent;
//]]>
});
</script>
By this way you can override the Payment Section.
you can pull the information by extending Payment Method Block.
registration.php
<?php
MagentoFrameworkComponentComponentRegistrar::register(
MagentoFrameworkComponentComponentRegistrar::MODULE,
'[VendorName]_[ModuleName]',
__DIR__
);
Info.php
<?php
namespace [VendorName][ModuleName]BlockAdminhtmlOrderViewTab;
class Info extends MagentoSalesBlockAdminhtmlOrderViewTabInfo{
}
etc/adminhtml/di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="MagentoSalesBlockAdminhtmlOrderViewTabInfo" type="[VendorName][ModuleName]BlockAdminhtmlOrderViewTabInfo" />
</config>
view/adminhtml/layout/sales_order_view.xml
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-2columns-left" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="order_tab_info">
<action method="setTemplate">
<argument name="template" translate="true" xsi:type="string">order/view/tab/Info.phtml</argument>
</action>
</referenceBlock>
</body>
</page>
view/adminhtml/templates/order/view/tab/Info.phtml
<?php
/**
* Copyright © 2016 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
// @codingStandardsIgnoreFile
?>
<?php /** @var $block MagentoSalesBlockAdminhtmlOrderViewTabInfo */ ?>
<?php $_order = $block->getOrder() ?>
<div id="order-messages">
<?php echo $block->getChildHtml('order_messages') ?>
</div>
<?php echo $block->getChildHtml('order_info') ?>
<input type="hidden" name="order_id" value="<?php /* @escapeNotVerified */ echo $_order->getId() ?>"/>
<section class="admin__page-section order-view-billing-shipping">
<div class="admin__page-section-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Payment & Shipping Method') ?></span>
</div>
<!-- this is Sample Text -->
<h1>Magento 2 Custom Payment Text</h1>
<div class="admin__page-section-content">
<div class="admin__page-section-item order-payment-method<?php if ($_order->getIsVirtual()): ?> order-payment-method-virtual<?php endif; ?>">
<?php /* Payment Method */ ?>
<div class="admin__page-section-item-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Payment Information') ?></span>
</div>
<div class="admin__page-section-item-content">
<div class="order-payment-method-title"><?php echo $block->getPaymentHtml() ?></div>
<div class="order-payment-currency"><?php /* @escapeNotVerified */ echo __('The order was placed using %1.', $_order->getOrderCurrencyCode()) ?></div>
<div class="order-payment-additional">
<?php echo $block->getChildHtml('order_payment_additional'); ?>
<?php echo $block->getChildHtml('payment_additional_info'); ?>
</div>
</div>
</div>
<?php echo $block->getChildHtml('order_shipping_view') ?>
</div>
</section>
<?php echo $block->getGiftOptionsHtml() ?>
<section class="admin__page-section">
<div class="admin__page-section-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Items Ordered') ?></span>
</div>
<?php echo $block->getItemsHtml() ?>
</section>
<section class="admin__page-section">
<div class="admin__page-section-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Order Total') ?></span>
</div>
<div class="admin__page-section-content">
<div class="admin__page-section-item order-comments-history">
<div class="admin__page-section-item-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Notes for this Order') ?></span>
</div>
<?php echo $block->getChildHtml('order_history') ?>
</div>
<div class="admin__page-section-item order-totals">
<div class="admin__page-section-item-title">
<span class="title"><?php /* @escapeNotVerified */ echo __('Order Totals') ?></span>
</div>
<?php echo $block->getChildHtml('order_totals') ?>
</div>
</div>
</section>
<?php echo $block->getChildHtml('popup_window');?>
<script>
require([
"prototype",
"Magento_Sales/order/giftoptions_tooltip"
], function(){
//<![CDATA[
/**
* Retrieve gift options tooltip content
*/
function getGiftOptionsTooltipContent(itemId) {
var contentLines = ;
var headerLine = null;
var contentLine = null;
$$('#gift_options_data_' + itemId + ' .gift-options-tooltip-content').each(function (element) {
if (element.down(0)) {
headerLine = element.down(0).innerHTML;
contentLine = element.down(0).next().innerHTML;
if (contentLine.length > 30) {
contentLine = contentLine.slice(0,30) + '...';
}
contentLines.push(headerLine + ' ' + contentLine);
}
});
return contentLines.join('<br/>');
}
giftOptionsTooltip.setTooltipContentLoaderFunction(getGiftOptionsTooltipContent);
window.getGiftOptionsTooltipContent = getGiftOptionsTooltipContent;
//]]>
});
</script>
By this way you can override the Payment Section.
answered Feb 24 '17 at 7:11
BojjaiahBojjaiah
2,4382468
2,4382468
Thank you. I'll try this out tonight and give some feedback.
– Marco Ferreira
Feb 28 '17 at 20:35
Sorry, but only now I could get back to this. Three issues I'm having: 1. After following the sample code/files you posted I got the excepptionReflectionException: Class [...]BlockAdminhtmlOrderViewTabInfo does not exist
. 2. Removing<preference for="MagentoSalesBlockAdminhtmlOrderViewTabInfo" type="[...]BlockAdminhtmlOrderViewTabInfo" />
from etc/adminhtml/di.xml fixed the exception, but the order info page is empty. 3. Finally, in Info.php, I already have a namespace defined asnamespace [VendorName][ModuleName]Block;
. How would I go about these?
– Marco Ferreira
May 7 '17 at 14:59
add a comment |
Thank you. I'll try this out tonight and give some feedback.
– Marco Ferreira
Feb 28 '17 at 20:35
Sorry, but only now I could get back to this. Three issues I'm having: 1. After following the sample code/files you posted I got the excepptionReflectionException: Class [...]BlockAdminhtmlOrderViewTabInfo does not exist
. 2. Removing<preference for="MagentoSalesBlockAdminhtmlOrderViewTabInfo" type="[...]BlockAdminhtmlOrderViewTabInfo" />
from etc/adminhtml/di.xml fixed the exception, but the order info page is empty. 3. Finally, in Info.php, I already have a namespace defined asnamespace [VendorName][ModuleName]Block;
. How would I go about these?
– Marco Ferreira
May 7 '17 at 14:59
Thank you. I'll try this out tonight and give some feedback.
– Marco Ferreira
Feb 28 '17 at 20:35
Thank you. I'll try this out tonight and give some feedback.
– Marco Ferreira
Feb 28 '17 at 20:35
Sorry, but only now I could get back to this. Three issues I'm having: 1. After following the sample code/files you posted I got the excepption
ReflectionException: Class [...]BlockAdminhtmlOrderViewTabInfo does not exist
. 2. Removing <preference for="MagentoSalesBlockAdminhtmlOrderViewTabInfo" type="[...]BlockAdminhtmlOrderViewTabInfo" />
from etc/adminhtml/di.xml fixed the exception, but the order info page is empty. 3. Finally, in Info.php, I already have a namespace defined as namespace [VendorName][ModuleName]Block;
. How would I go about these?– Marco Ferreira
May 7 '17 at 14:59
Sorry, but only now I could get back to this. Three issues I'm having: 1. After following the sample code/files you posted I got the excepption
ReflectionException: Class [...]BlockAdminhtmlOrderViewTabInfo does not exist
. 2. Removing <preference for="MagentoSalesBlockAdminhtmlOrderViewTabInfo" type="[...]BlockAdminhtmlOrderViewTabInfo" />
from etc/adminhtml/di.xml fixed the exception, but the order info page is empty. 3. Finally, in Info.php, I already have a namespace defined as namespace [VendorName][ModuleName]Block;
. How would I go about these?– Marco Ferreira
May 7 '17 at 14:59
add a comment |
Add vendor_name in view/adminhtml/layout/sales_order_view.xml
vendor_name::order/view/tab/Info.phtml
This solve the blank page in order info.
New contributor
add a comment |
Add vendor_name in view/adminhtml/layout/sales_order_view.xml
vendor_name::order/view/tab/Info.phtml
This solve the blank page in order info.
New contributor
add a comment |
Add vendor_name in view/adminhtml/layout/sales_order_view.xml
vendor_name::order/view/tab/Info.phtml
This solve the blank page in order info.
New contributor
Add vendor_name in view/adminhtml/layout/sales_order_view.xml
vendor_name::order/view/tab/Info.phtml
This solve the blank page in order info.
New contributor
New contributor
answered 11 mins ago
Dharmender SainiDharmender Saini
1
1
New contributor
New contributor
add a comment |
add a comment |
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%2f160871%2fhow-to-add-more-information-to-order-information-page-admin-and-customer%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
do you want to show the additional information on order page(adminhtml)?
– Bojjaiah
Feb 21 '17 at 9:39
Yes, adminhtml and frontend
– Marco Ferreira
Feb 22 '17 at 19:06
which place do you want to show?
– Bojjaiah
Feb 23 '17 at 4:56
Well, ideally to the "Payment Information" on the adminhtml side and "Payment Method" on the frontend side. Basically the same way you get credit card information when you use credit card.
– Marco Ferreira
Feb 24 '17 at 5:14
see example magento.stackexchange.com/questions/76434/…
– Bojjaiah
Feb 24 '17 at 6:51