2017-01-13 4 views
0

Ich versuche, eine in /vendor/magento/module-grouped-product/view/frontend/layout/catalog_product_view_type_grouped.xml definierte Vorlage in einem benutzerdefinierten Modul zu überschreiben. Die Datei hat einen Block namens product.info.grouped wie so definiert:Überschreiben von Vorlagen mit benutzerdefiniertem Modul in Magento 2

<block class="Magento\GroupedProduct\Block\Product\View\Type\Grouped" name="product.info.grouped" before="product.info.addtocart" template="product/view/type/grouped.phtml"/> 

Also habe ich eine Datei /app/code/FortyThree/GroupedConfigurableProduct/view/frontend/layout/catalog_product_view_type_grouped.xml und darin

<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/layout_generic.xsd"> 
    <referenceBlock name="product.info.grouped"> 
    <action method="setTemplate"> 
     <argument name="template" xsi:type="string">FortyThree_GroupedConfigurableProduct::product/view/type/grouped.phtml</argument> 
    </action> 
    </referenceBlock> 
</layout> 

und erstellt die entsprechende .phtml Datei aber nicht die ursprüngliche Vorlage überschreiben Datei. Gibt es noch etwas anderes, um das Überschreiben zu registrieren? Ich habe versucht, setup:upgrade und Spülen der zwischengespeicherten nichts scheint zu funktionieren. Ich habe auch die Magento_GroupedProduct im Sequenzabschnitt meines module.xml gesetzt, um sicher zu stellen, dass es nachher lädt.

Es scheint wirklich nicht wie meine catalog_product_view_type_grouped.xml überhaupt gelesen wird, da nichts, was ich da drinnen mache, scheint egal zu sein.

Antwort

0

Sie Layout-Datei ist nicht gut.

Dies sollte den Trick:

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> 
    <body> 
     <referenceBlock name="product.info.grouped"> 
      <action method="setTemplate"> 
       <argument name="template" xsi:type="string">FortyThree_GroupedConfigurableProduct::product/view/type/grouped.phtml</argument> 
      </action> 
     </referenceBlock> 
    </body> 
</page> 

Vergessen Sie auch nicht eine Abhängigkeit GroupedProduct in Ihrem Modul hinzuzufügen.

Es gibt einige Möglichkeiten zu überprüfen, ob Sie einen Block korrekt referenzieren. Sie können einfach eine Entfernung verwenden, um zu sehen, ob das funktioniert, um zu bestätigen, dass Sie den richtigen Block haben.

Verwandte Themen