Google Base Integration von Magento

12.08.2010   //   von Ingo Hillebrand   //   Allgemein, Entwicklung, Magento  //  11 Kommentare

Google Base erlaubt die Anbindung von Produkt Feeds, um es Suchenden einfacher zu machen, Produkte aus dem Webshop über die Google Produktsuche zu finden. Das ist vor allem bei der Arbeit mit Magento ein Vorteil, denn Magento liefert die Anbindung auch schon in der Community-Version mit aus. Dieser Artikel soll Sie bei der Einrichtung unterstützen, um die Produkte besser zu plazieren.

Um zu starten benötigen Sie neben einer Magento-Installation auch einen Account für Google Base. Sollten diese Hürden überwunden sein, reichen vier einfache Schritte aus, um die Produkte an Google Base zu übertragen.

1. Zugangsdaten eingeben
Menu: System > Konfiguration > Google API > Google Base
Geben Sie an dieser Stelle Ihre Benutzerdaten ein; zusätzlich besteht hier die Möglichkeit ein Produkt nach einer Änderung direkt übertragen zu lassen, ohne dies manuell machen zu müssen.

2. Attributzuordnung herstellen
Menu: Katalog > Google Base > Attribute verwalten
Wählen Sie Attributzuordnung hinzufügen um eine neue Zuordnung zu erstellen. Hier muss das Land, ein Attributset sowie eine passende Warengruppe seitens Google Base bestimmt werden. Nun können diverse Attribute hinzugefügt werden, wie z.B. Preis, Hersteller etc. Diese Werte werden immer Paarweise angegeben: links aus Magento, rechts aus Google Base. Sind alle Attribute angelegt, kann die Attributzuordnung gespeichert werden.

Sollte beim Anlegen einer neuen Attributzuordnung folgender Fehler “Notice: Undefined offset: 1 in app/code/core/Mage/GoogleBase/Model/Service/Feed.php on line 120” auftreten, so gehen Sie bitte wie folgt vor:

2.1. Betreffende Datei öffnen
Öffnen Sie bitte folgende Datei “app/code/core/Mage/GoogleBase/Model/Service/Feed.php

2.2. Änderungen am Code
Ändern Sie die den Code ( Zeile: 120 – 132 ):

$typeAttributes = $entry->extensionElements[1]->extensionElements;
$attributes = array();
if (is_array($typeAttributes)) {
    foreach($typeAttributes as $attr) {
        $name = $attr->extensionAttributes['name']['value'];
        $type = $attr->extensionAttributes['type']['value'];
        $attribute = new Varien_Object();
        $attribute->setId($name);
        $attribute->setName($name);
        $attribute->setType($type);
        $attributes[$name] = $attribute;
    }
}

in:

$attributes = array();
if(count($entry->extensionElements) > 1) {
    $typeAttributes = $entry->extensionElements[1]->extensionElements;
    if (is_array($typeAttributes)) {
        foreach($typeAttributes as $attr) {
            $name = $attr->extensionAttributes['name']['value'];
            $type = $attr->extensionAttributes['type']['value'];
            $attribute = new Varien_Object();
            $attribute->setId($name);
            $attribute->setName($name);
            $attribute->setType($type);
            $attributes[$name] = $attribute;
        }
    }
}

3. Produkte zu Google Base hinzufügen
Menu: Katalog > Google Base > Artikel verwalten

Jetzt sehen wir zwei Tabellen – die obere zeigt die in Google Base verfügbaren Artikel an, die untere ist die Magento-Produkttabelle. Um Artikel zu Google Base hinzuzufügen, beschränken wir die Produktauswahl auf ein Attributset. Aus dieser Liste wählte man die gewünschten Artikel per Checkbox aus und bestätigt diese Auswahl mit der Aktion Zu Google Base hinzufügen. Diese Artikel stehen nun in der oberen Liste, dort können sie auch problemlos wieder entfernt werden oder deaktiviert werden. Jedoch nicht nur an dieser Stelle, auch aus dem Google Base Benutzerkonto ist ein deaktivieren möglich, diese Änderung wird selbstverständlich auch in Magento angezeigt.

Der Artikel bezieht sich auf Magento in der Version 1.4.1.1.

Der Autor

Ingo HIllebrand lebt in Soest, Deutschland, und arbeitet als Anwendungsentwickler bei der Paderborner Firma code-x. Dort beschäftigt er sich seit 2010 mit Magento, persönliche Erfahrungen und Gedanken über Magento und Web-Entwicklung teilt er in diesem Blog. Sie erreichen ihn per e-Mail an ingo@webguys.de oder über Xing.

11 Kommentare

  • Gibt es denn mittlerweile eine funktionierende Lösung zur Übermittlung der Versandkosten (gerne auch einen festen Wert) an Google Base bzw. Google Merchant Center?

  • Das würde mich auch sehr interessieren. Denn ohne Versandkosten-Attribut ist die Anbindung zu Base/Merchants ziemlich unterinteressant.

    Gruß,
    Oli

  • Leider bietet Magento dies nicht an, jedoch habe ich bereits damit begonnen, die Versandkosten mit zu übergeben. Der Erfolg ist bis jetzt zwar noch bescheiden, ich bleibe jedoch dran und werde die Lösung hier veröffentlichen.

  • Her je – so eine schöne Anbindung die wir nicht nutzen können :)
    Wir würden gerne auch eine Lösung für das Problem finden, da dies für den Praxisbetrieb ja nicht wirklich sinnvoll ist.

    Danke euch!

  • @Ingo: Ich freue mich auf Deine Lösung. Gruß, Oli

  • Hi,

    leider ist die Google Base (Merchant Center) Integration alles andere als wirklich schön gelöst. Wenn man sich damit eine Zeit lang beschäftigt erkennt man folgendes
    1.) keine Übermittlung der Versandkosten
    2.) Shops die Netto Preise im Magento haben – übermitteln auch nur Netto Preise nach Google (sollte man rechtlich bei Gott vermeiden :-)
    3.) Wenn man einen Google Merchang Center Account hat in dem man mehrere Google Accounts verwaltet so funktioniert der Export nicht
    4.) Price Rules werden ignoriert – es werden immer nur die “Listenpreise” übergeben. Sinn und Zweck ist es ja bei Google Base, dass man seine attraktiven Angebote aus platzieren kann :-(
    Wer interessiert ist – dafür gibt es eien Fix im Magento Forum
    5.) der schlimmste Punkt: Synchronisation – funktioniert nicht. Das ist schlicht und einfach nicht fertig programmiert worden. Ändert man z.b. den Preis eines Produkts oder ein anderes Attribut so wird er nicht in Google Base aktualisiert. :-(

    Wir sind jetzt auf der Suche nach einer anderen Lösung.

    Grüsse aus der Hängematte.

  • Weiß jemand ob bei Magento 1.5 der google base Export jetzt vernüftig funktioniert?

  • We use gomage feed pro extension to generate feeds.
    It’s careful design makes it both easy to use and very flexible.
    I recommend the extension to anybody who wants to export their products as feeds – whether it is for Google Base/Merchant, Bing Shopping, Yahoo, etc.

    Hope this helps

  • Moin,

    leider ist Google Base in Magento 1.6.1.0 nicht mehr drin. Da Google ja auf die neue Content API umgestellt hat, gibt es derzeit keine OutOfTheBox Lösung.
    Oder hat jemand einen Tipp wie dies realisiert werden könnte?

    MfG

  • Google Base ist in Magento 1.6 voll funktional implementiert – jedoch heißt es nicht mehr Google Base sondern GMC ( Google Merchant Center )

  • Zudem ist es eine Extension die man über MagentoConnect installieren darf :)

Kommentar schreiben

Am 14.02 ist Valentinstag!

FloraPrima Ihr Blumenversand Nebenbei eben ein Blumen für die Freundin bestellen?
Ich empfehle FloraPrima!

Magento-Support

Sie benötigen kurzfristig Unterstützung in einem Magento-Projekt oder möchten eine individuelle Extension einsetzen? Sprechen Sie uns an.