2016-04-19 8 views
0

Ich versuche, eine vollständige Liste der Produkte aus der Datenbank mit der SKU, Hersteller und ein benutzerdefiniertes Attribut namens "GTIN" zu ziehen.Pull SKU, Hersteller und benutzerdefinierte Attribut aus Magento-Datenbank

Ich habe wirklich mit dem benutzerdefinierten Attribut Teil zu kämpfen.

Diese Anweisung funktioniert mit dem Hersteller und SKU

SELECT cpe.sku, m1.manufacturer, 
FROM catalog_product_entity AS cpe 
INNER JOIN exportview_manufacturer AS m1 ON cpe.entity_id = m1.entity_id 

Meine MySQL ist sehr schlecht zu ziehen, und ich kann nicht scheinen, um dieses benutzerdefinierte Attribut zu erhalten. Ich habe die folgende Anweisung online gefunden, die ich kenne alle Details, die ich brauche diese Arbeit zu machen, aber bisher habe ich in ein Chaos mein Kopf wurde immer versucht, es

SELECT e.entity_id AS product_id, var.value AS product_name 
FROM catalog_product_entity e, eav_attribute eav, catalog_product_entity_varchar var 
WHERE 
e.entity_type_id = eav.entity_type_id 
AND eav.attribute_code = 'gtin' 
AND eav.attribute_id = var.attribute_id 
AND var.entity_id = e.entity_id 

zu implementieren muss ich einfach die erste Aussage, die auch die "GTIN" -Spalte enthält, aber der Beitritt ist, wo ich mich verfalle. Kann jemand bitte helfen?

Antwort

0

Sie müssen ein PHP-Skript erstellen, um alle Produkte und Attribute zu erhalten. Erstellen Sie zuerst die Datei all_product.php auf Ihrem Magento-Stamm und fügen Sie den folgenden Code hinzu.

error_reporting(E_ALL); 
ini_set("display_errors", 1);  

require_once '../app/Mage.php'; 
Mage::app(); 

$collection = Mage::getModel('catalog/product')->getCollection() 
->addAttributeToSelect('*') // select all attributes 
->setPageSize(5000) // limit number of results returned 
->setCurPage(1); // set the offset (useful for pagination) 

foreach ($collection as $product) { 
echo $product->getName(); //get name 
/*you can get any attribue you want like name above. Even you can get all custom attribule for product for that you need to use print_r($collection->getData()) above foreach*/ 
} 

Ich hoffe, es wird funktionieren.