Verschwinden Ihre Produkte unter Magento 2.4.9 nach dem Speichern eines verknüpften Produktes plötzlich? Dann könnte der Magento Core Fehler ACP2E-4741 die Ursache sein. Das Problem kann auftreten, wenn Related Products, Up Sell oder Cross Sell Produkte verwendet werden und der…
Produktattribut auslesen, ohne das komplette Produkt zu laden (Magento 2)
Wenn man in Magento 2 nur einen einzelnen Attributwert eines Produkts benötigt, muss man dafür nicht immer das komplette Produkt über das Repository oder eine Collection laden. Gerade in Schleifen, Cronjobs oder Importen kann das unnötig viel Arbeit verursachen. Über…
Produkte ohne Produktbilder per SQL finden (Magento 2)
Manchmal kann es sinnvoll sein, alle Produkte in Ihrem Magento 2 Shop zu finden, denen kein Bild zugeordnet ist. Das kann z.B. dann von Interesse sein, wenn man eine Datenmigration oder einen Produktimport auf Vollständigkeit prüfen möchte. Die folgende SQL…
Anzahl Produkte pro Attributset herausfinden per SQL (Magento 2)
Es kann nützlich sein, die Anzahl von Produkten pro Attributset auslesen zu können. Der einfachste Weg, dies in Magento 2 zu bewerkstelligen, ist die folgende SQL Abfrage:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
SELECT eas.attribute_set_id, eas.attribute_set_name, COUNT(cpe.entity_id) AS product_count FROM eav_attribute_set eas LEFT JOIN catalog_product_entity cpe ON cpe.attribute_set_id = eas.attribute_set_id WHERE eas.entity_type_id = ( SELECT entity_type_id FROM eav_entity_type WHERE entity_type_code = 'catalog_product' ) GROUP BY eas.attribute_set_id, eas.attribute_set_name ORDER BY eas.attribute_set_name; |
Sie erhalten eine übersichtliche Ausgabe der pro Attributset enthaltenen Artikel.
Prüfen, ob ein Produkt auf Lager ist mit der Produkt ID (Magento 2)
Mit dem folgenden Magento 2 Code können sie mittels der ID des Produktes den Lagerstatus herausfinden:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public function __construct( \Magento\CatalogInventory\Api\StockRegistryInterface $stockRegistry, ... ) { $this->stockRegistry = $stockRegistry; } $stockItem = $this->stockRegistry->getStockItem($productId); if ($stockItem->getIsInStock()) { echo "Produkt ist auf Lager"; } else { echo "Nicht auf Lager"; } |
Et voilà!
Produktstatus herausfinden (Magento 2)
Ein Produkt in Magento 2 kann standardmässig 2 Status annehmen, aktiviert oder deaktiviert. Sie können den Status auf Quellcodebasis folgendermaßen herausfinden:
|
1 2 3 |
// 1 = aktiviert // 2 = deaktiviert $status = $product->getStatus() |
Fertig!
Wert eines Produktattributes für “Alle Store Views” auslesen (Magento 2)
Manchmal ist es erforderlich, den Wert des “Alle Store Views” (oder “All Store Views” in Englisch) in Ihrem Magento 2 Shop auszulesen in z.B. einem Template. Setzen Sie dazu einfach die Store ID auf 0, laden dann das entsprechende Produkt…
Undefined array key 1234 in Eav.php on line 604 (Magento 2)
Es kann vorkommen, dass Sie beim Öffnen eines Produktes im Adminbereich Ihres Magento 2 Shops die folgende Meldung erhalten: Undefined array key 1234 in vendor/magento/module-catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php on line 604 Die ID kann sich unterscheiden, die Ursache ist aber immer gleich. Hier…
Invalid input datetime format of value ’01.01.1970′ Problem lösen (Magento 2)
Erhalten Sie die Meldung Invalid input datetime format of value ’01.01.1970′ (das angegebene Datumsformat kann variieren und z.B. auch als ’1/01/1970′ angegeben sein), wenn Sie ein Produkt im Magento 2 Adminbereich speichern möchten? In den meisten Fällen liegt es daran,…
Mage_Catalog_Block_Product::getPriceHtml erzeugt Fehler mit PHP 7 (Magento 1)
Der folgende Magento 1 Code funktioniert nicht mehr ab PHP 7:
|
1 |
echo Mage_Catalog_Block_Product::getPriceHtml($_product, true); |
Ab PHP 7 müssen Sie eine Instanz von Mage_Catalog_Block_Product erzeugen und auf dieser dann die Funktion getPriceHtml aufrufen.
|
1 2 |
$productBlock = new Mage_Catalog_Block_Product; echo $productBlock->getPriceHtml($_product, true); |