在谷歌搜索:magento 2 override phtml
第一种方法:在design下面覆盖vendor下面的html文件
1.比如我要覆盖vendor\magento\module-customer\view\frontend\templates\form\register.phtml 文件.
2.在app\design\frontend\Dcs\realsmart\Magento_Customer\templates\form\register.phtml 新建一份文件
3.Dcs\realsmart 是在后台定义的主题模板路径
4.在 \vendor\magento\module-customer\view\frontend\layout\customer_account_create.xml 新建一份xml文件。一般magento已经自带了这份文件.
第二种方法:值app\code下面覆盖vendor下面的html文件
1.比如我们要覆盖checkout/cart/index控制器页面的模板文件。一般我们访问页面的时候可以在域名上面看到.
如果从域名上反应不出来是哪一个控制器的话,可以在vendor上先查找到是哪一个phtml,如果查到是register.phtml,然后全局搜索
register.phtml 可以找到一个xml文件,xml文件对应的文件名字就是控制器模板文件.
2.在app/code/Name_Space/Your_Module/view/frontend/layout中创建check_cart_index.xml ,代码如下
<?
xml
version
=
"1.0"
?>
<
page
xmlns
:
xsi
=
"
http://www.w3.org/2001/XMLSchema-instance
dc"
xsi
:
noNamespaceSchemaLocation
=
"urn:magento:framework:View/Layout/etc/page_configuration.xsd"
>
<
referenceBlock
name
=
"checkout.cart"
>
<
action
method
=
"setTemplate"
>
<
argument
name
=
"template"
xsi
:
type
=
"string"
>
[
Name_Space
]
_
[
Your_Module
]
::
checkout_cart
.
phtml
<
/
argument
>
<
/
action
>
<
/
referenceBlock
>
<
/
page
>
checkout.cart:是块名称,其模板文件要覆盖。
[Name_Space] _ [Your_Module] ::
checkout_cart
.phtml:是模块的模板文件。
在app / code / [Name_Space] / [Your_Module] / view / frontend / templates中
创建
checkout_cart
.phtml文件
当然这两种方法都是针对前台页面,如果是后台的页面可以谷歌搜索:magento 2 adminhtml override phtml,难度稍微大一点.
如果还有任何疑问欢迎加入私人微信:zhongzunjing