<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Der Magento Experte</title>
	<atom:link href="https://www.der-mage-experte.de/tag/eav/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.der-mage-experte.de</link>
	<description>Ihr Magento Experte &#38; Entwickler</description>
	<lastBuildDate>Thu, 05 Nov 2026 21:41:35 +0000</lastBuildDate>
	<language>de-DE</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.8.6</generator>
	<item>
		<title>Produktattribut auslesen, ohne das komplette Produkt zu laden</title>
		<link>https://www.der-mage-experte.de/3163/magento2-produktattribut-auslesen-ohne-komplettes-produkt-zu-laden/</link>
		<comments>https://www.der-mage-experte.de/3163/magento2-produktattribut-auslesen-ohne-komplettes-produkt-zu-laden/#comments</comments>
		<pubDate>Thu, 08 Oct 2026 20:06:26 +0000</pubDate>
		<dc:creator><![CDATA[Mex]]></dc:creator>
				<category><![CDATA[Magento Lösungen]]></category>
		<category><![CDATA[Attribut]]></category>
		<category><![CDATA[Eav]]></category>
		<category><![CDATA[Magento 2]]></category>
		<category><![CDATA[Produkt]]></category>

		<guid isPermaLink="false">https://www.der-mage-experte.de/?p=3163</guid>
		<description><![CDATA[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&#8230;]]></description>
				<content:encoded><![CDATA[<p>Wenn man in Magento 2 nur einen einzelnen Attributwert eines Produkts benötigt, muss man dafür <strong>nicht immer das komplette Produkt</strong> über das Repository oder eine Collection laden. Gerade in Schleifen, Cronjobs oder Importen kann das unnötig viel Arbeit verursachen.</p>
<p>Über das Product Resource Model lässt sich ein Attribut direkt anhand von Produkt ID, Attributcode und Store ID auslesen:</p><pre class="crayon-plain-tag">use Magento\Catalog\Model\ResourceModel\Product as ProductResource;

public function __construct(
    private ProductResource $productResource
) {
}

public function getValue(int $productId, int $storeId): mixed
{
    return $this-&gt;productResource-&gt;getAttributeRawValue(
        $productId,
        'manufacturer',
        $storeId
    );
}</pre><p>Magento lädt dabei nicht das komplette Produktmodell mit sämtlichen Attributen, sondern liest <strong>gezielt den benötigten Wert</strong>. Das kann besonders interessant sein, wenn innerhalb einer größeren Verarbeitung für viele Produkte nur ein einzelnes Attribut benötigt wird.</p>
<p>Bei einem Dropdown Attribut wie <strong>manufacturer</strong> gibt <strong>getAttributeRawValue()</strong> allerdings die gespeicherte Option ID zurück und nicht deren sichtbare Bezeichnung. Soll zusätzlich der eigentliche Wert des Dropdowns ermittelt werden, kann die Option über die Attribut Source aufgelöst werden:</p><pre class="crayon-plain-tag">use Magento\Catalog\Model\ResourceModel\Product as ProductResource;
use Magento\Eav\Model\Config as EavConfig;

public function __construct(
    private ProductResource $productResource,
    private EavConfig $eavConfig
) {
}

public function getManufacturerLabel(
    int $productId,
    int $storeId
): ?string {
    $optionId = $this-&gt;productResource-&gt;getAttributeRawValue(
        $productId,
        'manufacturer',
        $storeId
    );

    if (!$optionId) {
        return null;
    }

    $attribute = $this-&gt;eavConfig-&gt;getAttribute(
        'catalog_product',
        'manufacturer'
    );

    $attribute-&gt;setStoreId($storeId);

    return $attribute-&gt;getSource()-&gt;getOptionText($optionId);
}</pre><p>Aus einer gespeicherten Option ID wie <strong>42</strong> wird damit beispielsweise die sichtbare Bezeichnung <strong>Bosch</strong>. Durch die Store ID wird dabei auch berücksichtigt, dass ein Attributwert oder die Bezeichnung einer Option je nach Store View unterschiedlich sein kann.</p>]]></content:encoded>
			<wfw:commentRss>https://www.der-mage-experte.de/3163/magento2-produktattribut-auslesen-ohne-komplettes-produkt-zu-laden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Undefined array key 1234 in Eav.php on line 604</title>
		<link>https://www.der-mage-experte.de/2137/magento2-undefined-array-key-1234-in-eav-php-on-line-604/</link>
		<comments>https://www.der-mage-experte.de/2137/magento2-undefined-array-key-1234-in-eav-php-on-line-604/#comments</comments>
		<pubDate>Fri, 01 Mar 2024 08:29:49 +0000</pubDate>
		<dc:creator><![CDATA[Mex]]></dc:creator>
				<category><![CDATA[Magento Lösungen]]></category>
		<category><![CDATA[Admin]]></category>
		<category><![CDATA[Eav]]></category>
		<category><![CDATA[Magento 2]]></category>
		<category><![CDATA[Produkt]]></category>

		<guid isPermaLink="false">https://www.der-mage-experte.de/?p=2137</guid>
		<description><![CDATA[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&#8230;]]></description>
				<content:encoded><![CDATA[<p>Es kann vorkommen, dass Sie beim Öffnen eines Produktes im Adminbereich Ihres Magento 2 Shops die folgende Meldung erhalten:</p>
<p><strong>Undefined array key 1234 in vendor/magento/module-catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php on line 604</strong></p>
<p>Die ID kann sich unterscheiden, die Ursache ist aber immer gleich. Hier hilft in der Regel der Neuaufbau des Index mit dem folgenden Befehl, ausgeführt im Rootverzeichnis Ihres Magento 2 Shops:</p><pre class="crayon-plain-tag">php bin/magento indexer:reindex</pre><p></p>
<p>Nun sollten sich die Produkte im Adminbereich wieder öffnen lassen.</p>]]></content:encoded>
			<wfw:commentRss>https://www.der-mage-experte.de/2137/magento2-undefined-array-key-1234-in-eav-php-on-line-604/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
