Magento 2 Produktbeschreibung

Auf der Startseite wieder unter „Meistverkaufte Produkte“ muss zu den Produkten ein Produktbeschreibung hinzugefügt werden. Dazu muss ein Override erstellt werden. Die Template-Datei, die überschieben werden soll liegt unter:

\app\design\frontend\template-name\default\Magento_CatalogWidget\templates\product\widget\content\grid.phtml

Den Block der eingefügt werden muss finden wir unter

\vendor\magento\module-catalog\view\frontend\templates\product\list.phtml

<?php if ($showDescription):?>

<div class="product description product-item-description">

   <?= /* @escapeNotVerified */ $_helper->productAttribute($_product, $_product->getShortDescription(), 'short_description') ?>

 <a href="/<?= /* @escapeNotVerified */ $_product->getProductUrl() ?>" title="<?= /* @escapeNotVerified */ $_productNameStripped ?>" class="action more"><?= /* @escapeNotVerified */ __('Learn More') ?>

</a>

     </div>

<?php endif; ?>

Dann die Variable $_description muss auf „true“ umgestellt werden.

  $description = true;

  $showDescription = true;

Nachdem der Block in die Überschreibung eingefügt wurde, wurde die Startseite nicht mehr richtig angezeigt und eine Fehlermeldung in var/log/exception.log aufgetreten:

Undefined variable: _helper…

Anscheinend die Variablen die wir aus list.phtml geholt haben sind in grid.phtml nicht definiert. Außerdem in grid.phtml wurde der Product Objekt als item definiert  

<?php foreach ($_productCollection as $_product): ?>

<?php foreach ($items as $_item): ?>

Also damit der Code aus list.phtml auch in grid.phtml funktionieren wurde, müssen alle $_product durch $_item ersetzt werden.

Zum Schluss müssen die „Full Page“ und „Block“ Caches geleert werden.