Saya mencoba untuk menimpa register.phtml di modul saya, tetapi tampaknya ada beberapa masalah konfigurasi yang membuat Magento tidak dapat menggunakan templat khusus saya untuk mengganti yang ada di modul inti. Saya telah memeriksa kode tetapi tidak dapat menemukan masalah. Adakah yang bisa membantu? Terima kasih sebelumnya. 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 di bawah 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"
]
]
}
}
Gunakan kode ini di file tata letak Anda sebagai gantinya:
Ini menggantikan "tata letak" dengan "halaman" dan menambahkan tag tubuh
Sunting: Alternatif kedua adalah menghapus blok asli dan menambahkan yang baru dengan templat yang diinginkan
sumber
setTemplate
metode, yang kemudian menemukan templat di modul yang sama. Solusi yang sangat kotor tetapi satu-satunya hal yang berhasil untuk saya!Anda kehilangan tag <body> setelah tag <page>, coba:
sumber
Mengganti metode setTemplate bekerja paling baik untuk saya.
sumber
Saya tahu ini sudah tua, tetapi jika itu membantu seseorang,
masalah github ini magento2 / issues / 3356 menyatakan bahwa referenceBlock dan metode argumen (disebutkan dalam pertanyaan) menderita bug yang bertentangan dengan metode yang usang dan bekerja:
dokumentasi (Tetapkan template blok) tidak mencerminkan keadaan sebenarnya.
sumber