Wie ich SKU von der Produktseite in Magento 2 ausblenden kann

7

Kann mir bitte jemand sagen, wie ich die SKU auf der Produktseite in Magento 2 ausblenden kann?

Asif Latif
quelle

Antworten:

12

Erstellen Sie Ihre eigene Layoutdatei für die Produktseite:

 app\design\frontend\VENDOR\THEME\Magento_Catalog\layout\catalog_product_view.xml

Fügen Sie dann diesen Code in die Datei ein:

<?xml version="1.0"?>
<page layout="1column" 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.sku" remove="true" />
    </body>
</page>

Auf diese Weise können Sie den SKU-Block entfernen, ohne die gesamte Datei zu kopieren. Die Verwendung des removeAttributs Layout ist ebenfalls eine bewährte Methode!

Maarten Wolfsen
quelle
7

Die Lösung von MagentoOdoo.com funktioniert nicht, da Sie keine Systemattribute entfernen können. Auch wenn es funktionieren würde, würde es das Attribut vollständig entfernen und nicht nur aus der Ansicht.

Kopieren Sie die folgende Datei, um sie nur aus der Ansicht zu entfernen:

vendor\magento\module-catalog\view\frontend\layout\catalog_product_view.xml

in Ihren Vorlagenordner, der ungefähr so ​​aussehen sollte:

 app\design\frontend\**your_theme**\theme\Magento_Catalog\layout\catalog_product_view.xml

Entfernen Sie dann den folgenden Codeblock (sollte sich irgendwo in Zeile 36 befinden)

<block class="Magento\Catalog\Block\Product\View\Description" name="product.info.sku" template="product/view/attribute.phtml" after="product.info.type">
  <arguments>
    <argument name="at_call" xsi:type="string">getSku</argument>
    <argument name="at_code" xsi:type="string">sku</argument>
    <argument name="css_class" xsi:type="string">sku</argument>
    <argument name="at_label" xsi:type="string">default</argument>
    <argument name="add_attribute" xsi:type="string">itemprop="sku"</argument>
  </arguments>
</block>

Und ersetzen Sie es durch:

<referenceBlock name="product.info.sku" remove="true"/>

Leeren Sie den Cache, und die SKU sollte aus der Produktansicht entfernt werden.

Dennis van Schaik
quelle
Ik heb precies gedaan hoe je hebt beschreven, maar SKU staat er nog steeds. Las dat dit ook een algemeen bekend probleem is, zie community.magento.com/t5/Magento-2-Feature-Requests-and/… Werkt het bij jou wel? Hoor graag van je, Kevin van der Toorn
Kevin
Haben Sie Caches gelöscht und neu indiziert? Überprüfen Sie auch, ob der Pfad, in den Sie die Datei kopiert haben, korrekt ist. Sie können die Kerndatei vorübergehend aktualisieren, um festzustellen, ob dies funktioniert.
Dennis van Schaik
Ich habe eine exakte Kopie meines Themas erstellt (nur den Themennamen in allen Dateien, die den Namen enthalten, bearbeiten), das neue Thema angewendet und es funktioniert. Ich habe keine Idee warum. Vielen Dank für Ihre Antwort und Antwort.
Kevin
@kevin In plaats van dat je de code van het originele bestand kopieert naar je eigen bestand, probeer deze zin: <referenceBlock name = "product.info.sku" remove = "true" />
Maarten Wolfsen
0

Erstellen Sie in Ihrem Modul ein Layout mit dem Namen catalog_product_view.xml (Controller nicht erforderlich)

{venor_name} / {module_name} /view/frontend/layout/catalog_product_view.xml

Geben Sie diesen Code ein

<?xml version="1.0"?>
<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.sku" remove="true" />

    </body>
</page>

Leere den Cache

Php bin/magento cache:flush

Hoffe es hilft dir.

Sathya
quelle