An dieser Stelle möchte ich kurz 2 Probleme und ihre Lösungen zu Direct URL in Verbindung mit dem elektronischen Markt (Elm@r) loswerden.

Ganz wichtig Sicherung aller angesprochenen Dateien vor beginn der Änderungen anfertigen.

1. Problem

Nachdem ich den Export der products.csv Datei getätigt hatte waren alle Direct URL Links (Deep Links zu den Produkten) nicht mehr aufrufbar. Die Seite blieb einfach leer.

Lösung: den Speicherort der Export Dateien in der elmar_config.inc.php in ein beliebiges Unterverzeichnis ändern. (das angegebene Verzeichnis muss natürlich existieren)

2. Problem

Die Elm@r-Exportdatei products.csv nutzt nicht die durch Direct URL von Bluegate zur Verfügung gestellten SEO (sprechenden, suchmaschienenfreundlichen) URL’s.

Lösung:

  1. in der Datei elmar_config.inc.php den Eintrag
    define(‘ELMAR_SEO_URLS’, false);
    auf true setzen
    define(‘ELMAR_SEO_URLS’, true);
  2. in der Datei inc/xtc_href_link.inc.php folgende Code suchen
    if ($page=='product_info.php' && strpos($parameters,'info=p')!==false && strpos($parameters,'action=')===false) {
    $realUrl = true;
    $link = $bluegateSeo->getProductLink($parameters,$connection,$_SESSION['languages_id']);      //generate product link
    }
    

    und folgenden Code dahinter einfügen

    //Änderung für Elmar begin
    // *****************************************
    // Set product link if page=product_info.php
    // AND $parameters includes the string "products_id"
    // AND $parameters doesn't include the string "action="
    // *****************************************
    if ($page=='product_info.php' && strpos($parameters,'products_id=')!==false && strpos($parameters,'action=')===false) {
    $realUrl = true;
    $link = $bluegateSeo->getProductLink($parameters,$connection,$_SESSION['languages_id']);      //generate product link
    }
    //Änderung für Elmar end
    
  3. in der Datei inc/bluegate_seo.inc.php folgenden Code suchen
     // Extract product id and product name from file parameter
    foreach($explodedParams as $value) {
    if (substr($value,0,5) == 'info=') {
    $xtcProductParameter=substr($value,5,strlen($value));
    $productId=substr($xtcProductParameter,1,(strpos($xtcProductParameter,'_')-1));
    }
    

    und danach folgenden Code eingfügen

    //Änderung für Elmar begin
    if (substr($value,0,12) == 'products_id=') {
    $productId=substr($value,12,strlen($value));
    }
    //Änderung für Elmar end
    

Bitte bei Copy und Paste darauf achten das alle zusammen gehörenden Codeteile in einer Zeile stehen. Am besten an dem original Code orientieren.

Getestet mit XT-Commerce 3.04 SP2.1, bis jetzt keine negativen Sachen aufgefallen. Nur mit der products.csv Datei getestet, weitere Produktdateien werden bei mir mit Elmar nicht erstellt.

Für Feedbacks oder eventuelle Probleme kann gerne die Kommentarfunktion genutzt werden.

4 Kommentare zu “Elmar und Direct URL von Bluegate (Probleme und Tipps)”

  1. Udoam 01.03.2010 um 17:16

    Hi,
    mal eine Frage zu den Änderungen:
    Muß die products.csv eigentlich erzeugt werden?
    So wie ich sehe werden die Produktlinks doch über die XML Schnittstelle eingelesen, oder?
    Z.B. Preisroboter macht das so.
    Werden diese Links auch geändert, oder betrifft das nur die optionale products.csv?

    Gruß
    Udo

  2. Holz-Figuren-Shopam 01.03.2010 um 18:03

    @Udo

    Hallo, mein Shop ist bei Shopmap24 gelistet und die laden sich die products.csv Datei runter und verarbeiten diese. Und da dort die falschen (alten URL’s ohne SEO) enthalten waren habe ich mich an die Arbeit gemacht zu suchen warum diese dort noch ausgegeben werden. Die restlichen Exportdateien bzw. das Livesearch habe ich noch garnicht betrachtet. Elm@r selbst benutzt meines Wissens auch diese Datei um die Daten im Elektronischen Marktplatz anzuzeigen.

    mfg
    Ricardo

  3. Udoam 05.03.2010 um 15:59

    Hallo,
    na ja die erzeugten Dateien sind nur ‘Zusatz’ da Elm@r ja gerade die Echtzeitschnittstelle über XML bietet.
    Darin liegt ja der ‘eigentliche Sinn’ von Elm@r.
    Und natürlich nutzt auch die Suche/Portal von Elmar diese Schnittstelle.
    Ich hab aber überhaupt keine Ahnung, wie das funktioniert bzw. ob auch die Echtzeitschnittstelle dann die SEO URL’s liefert.

  4. Holz-Figuren-Shopam 06.03.2010 um 14:47

    Hallo,
    die Änderungen scheinen auch bei der Echtzeitanfrage zu greifen. Habe gerade eine Echtzeitanfrage mit meinen eigenen Produkten auf dem elektronischen-marktplatz von elm@r durchgeführt und die URL wurde korrekt dargestellt. Zur Überprüfung der Anfrage habe ich mir das Echtzeitanfragen-Log angeschaut, zusätzlich wird der Preis bei den Echtzeitanfragen mit einem Ausrufezeichen versehen. Du kannst also gerne die beschriebenen Änderungen durchführen und dann sollte sich das Problem erledigt haben. Die Echtzeitschnittstelle gilt aber nur für Elmar, die meisten Preisvergleiche setzen auf die products.csv auch wenn der Shopinfo.xml Standard unterstützt wird.

Trackback URI | Kommentare als RSS

Einen Kommentar schreiben