I have tried to change the title of the Orders and Returns page with XML with the following code.
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<head>
<title>Orders and Tracking - Test</title>
<link rel="canonical" src="http://www.extenderstore.com.au/sales/guest/form/" src_type="url"/>
</head>
<body>
<referenceBlock name="page.main.title">
<action method="setPageTitle">
<argument translate="true" name="title" xsi:type="string">Orders and Tracking</argument>
</action>
</referenceBlock>
</body>
</page>
The canonical URL appears but the title does not. I have looked in vendor/magento/module-sales and I can't find an XML file which sets the title so I am assuming it is being done with a PHP function. I have done some further research and to override this I would need to make a module. How do I create this?
Best Answer
To change the title, you need to override the
execute()
function in\vendor\magento\module-sales\Controller\Guest\Form.php
.To do this, you need to create a new module:
Give preference to it:
Override the
execute()
function:run these 4 CLI commands afterwards in the exact same order to see the changes:
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
php bin/magento cache:flush
I haven't tested it, but it should work.