Внутренний заказ на продажу Magento2 view.xml не удается переопределить файл шаблона
Я хочу переопределить файл шаблона для представления внутреннего порядка
Я проверил путь к шаблону и обнаружил, что этот файл называется.
vendor/temando/module-shipping-m2/view/adminhtml/templates/sales/order/view/info.phtml
Поэтому для переопределения я сделал следующее в своем модуле
Vendor/Module/etc/module.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
<module name="Vendor_Module" setup_version="1.0.0"></module>
<sequence>
<module name="Magento_Wishlist"/>
<module name="Temando_Shipping"/>
</sequence>
</config>
App/code/Vendor/Module/view/adminhtml/layout/sales_order_view.xml
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="left">
<referenceBlock name="order_info">
<action method="setTemplate">
<argument name="template" xsi:type="string">Vendor_Module::info.phtml</argument>
</action>
</referenceBlock>
</referenceContainer>
</body>
</page>
И я поместил info.phtml в следующее путь приложение/код/Поставщик/Модуль/просмотр/adminhtml/шаблоны/info.phtml
Но все равно, это не работает, очистите кэш и все, но все равно не берите вышеуказанный файл.
Что может быть не так?
2 answers
Я повторил ваши шаги, и переопределение работает для меня.
Вот что я сделал:
Добавлено app/code/Vendor/Module/view/adminhtml/layout/sales_order_view.xml
в существующий модуль
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="left">
<referenceBlock name="order_info">
<action method="setTemplate">
<argument name="template" xsi:type="string">Vendor_Module::info.phtml</argument>
</action>
</referenceBlock>
</referenceContainer>
</body>
</page>
Скопировал содержимое vendor/magento/module-sales/view/adminhtml/templates/order/view/info.phtml
в новый шаблон app/code/Vendor/Module/view/adminhtml/templates/info.phtml
:
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/**
* @var \Magento\Sales\Block\Adminhtml\Order\View\Info $block
*/
// @codingStandardsIgnoreFile
$order = $block->getOrder();
$orderAdminDate = $block->formatDate(
$block->getOrderAdminDate($order->getCreatedAt()),
\IntlDateFormatter::MEDIUM,
true
);
$orderStoreDate = $block->formatDate(
$order->getCreatedAt(),
\IntlDateFormatter::MEDIUM,
true,
$block->getTimezoneForStore($order->getStore())
);
?>
<!-- I added this bit -->
<h1>OVERRIDE</h1>
<h1>OVERRIDE</h1>
<h1>OVERRIDE</h1>
<section class="admin__page-section order-view-account-information">
<div class="admin__page-section-title">
<span class="title"><?= $block->escapeHtml(__('Order & Account Information')) ?></span>
</div>
Выполнил команду setup:upgrade
для очистки всех кэшей:
$ php -f bin/magento setup:upgrade
Посетил страницу сведений о заказе в администраторе: http://www.example.test/admin/sales/order/view/order_id/18/key/29acbf64d18925d298b839dae9c432d2090ec92b3b175649bf3a98c69fae6b47/
Похоже, что проблема, следовательно, заключается в расширении Temando. Я бы проверил, работают ли описанные выше шаги после отключения расширения Temando.
Если это так, я бы связался с Темандо.
Я допустил очень глупую опечатку.
В etc.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
<module name="Vendor_Module" setup_version="1.0.0"></module>
<sequence>
<module name="Magento_Wishlist"/>
<module name="Temando_Shipping"/>
</sequence>
</config>
Это должно быть похоже на следующее
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
<module name="Hs_Helper" setup_version="1.0.0">
<sequence>
<module name="Temando_Shipping"/>
<module name="Magento_Wishlist"/>
</sequence>
</module>
</config>