Ich versuche, die register.phtml in meinem Modul zu überschreiben, aber es scheint ein Konfigurationsproblem zu geben, aufgrund dessen Magento meine benutzerdefinierte Vorlage nicht verwenden kann, um die im Kernmodul zu überschreiben. Ich habe den Code überprüft, kann das Problem jedoch nicht finden. Kann jemand helfen? Danke im Voraus. module.xml:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Namespace_ModuleName" setup_version="0.0.2">
<sequence>
<module name="Magento_Customer"/>
</sequence>
</module>
</config>
customer_account_create.xml unter Namespace \ ModuleName \ view \ frontend \ layout:
<?xml version="1.0"?>
<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/layout_generic.xsd">
<referenceBlock name="customer_form_register">
<arguments>
<argument name="template" xsi:type="string">Namespace_ModuleName::form/register.phtml</argument>
</arguments>
</referenceBlock>
</layout>
composer.json:
{
"name": "namespace/module-modulename",
"description": "modulename",
"type": "magento2-module",
"version": "0.0.2",
"license": [
"OSL-3.0",
"AFL-3.0"
],
"require": {
"php": "~5.5.0|~5.6.0",
"magento/framework": "~0.42",
"magento/magento-composer-installer": "*",
"magento/module-customer": "*"
},
"extra": {
"map": [
[
"*",
"Namespace/ModuleName"
]
]
}
}
Verwenden Sie stattdessen diesen Code in Ihrer Layoutdatei:
Es ersetzt "Layout" durch "Seite" und fügt den Body-Tag hinzu
BEARBEITEN: Die zweite Alternative besteht darin, den ursprünglichen Block zu entfernen und einen neuen Block mit der gewünschten Vorlage hinzuzufügen
quelle
setTemplate
Methode aufzurufen , die dann die Vorlage im selben Modul findet. Sehr schmutzige Lösung, aber das einzige, was bei mir funktioniert hat!Sie vermissen das <body> -Tag nach dem <page> -Tag. Versuchen Sie Folgendes:
quelle
Das Überschreiben der setTemplate-Methoden funktioniert am besten für mich.
quelle
Ich weiß, das ist alt, aber wenn es jemandem hilft,
Dieses Github-Problem magento2 / issues / 3356 besagt, dass die (in der Frage erwähnte) Methode referenceBlock and arguments an einem Fehler leidet, im Gegensatz zur veralteten und funktionierenden Methode:
Die Dokumentation (Blockvorlage festlegen) gibt nicht den aktuellen Stand der Dinge wieder.
quelle