0

我想自定义/checkout/success模板文件 ( success.phtml)。我构建了一个自定义模块,它覆盖核心vendor/magento/module-checkout/Block/Checkout/Onepage/Success块并将数据添加到prepareData(). 如果我在我的模块 ( Vendor\Module\view\frontend\templates\success.phtml) 中添加模板文件,一切都很好:在 phtml 中加载和呈现附加数据没有问题。

问题是我只想为单个商店设置覆盖 - 所以通常我会将新模板放入app/design/frontend/[theme]/[themename]/Magento_Checkout/templates/success.phtml- 并期望这会胜过核心版本,但如果我有一个模块,这似乎不起作用已经覆盖了该模板。

如何使用自定义模块 Block 配置主题/商店级别模板,并让其他商店使用核心模板?

4

1 回答 1

0

想通了:在主题的目录结构中,您需要指定扩展模块名称,而不是核心模块名称。app/design/frontend/[themeparent]/[themename]/Vendor_Module/template/success.phtml您仍然需要在模块中有一个带有块扩展名的模板文件(这看起来很笨重 - 为什么不默认使用核心?)所以我将核心模板复制到模块,然后能够指定主题级别模板比app/design/frontend/[themeparent]/[themename]/Magento_Checkout/templates/success.phtml

所有主题都使用扩展模块模板(核心副本),特定主题使用它自己的模板。

于 2018-05-03T16:49:19.953 回答