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.

vorheriger Artikel:

nächster Artikel:

Weitere Artikel

14 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.

  5. Udoam 10.03.2010 um 02:42

    Perfekt.
    Also ich weiss wohl das Twenga, Shopwahl und z.B. Preisroboter die Shopinfo.xml nutzen, aber ich habe schon länger keine products.csv auf dem Server liegen. Funktioniert hat es trotzdem. Die products.csv wird aber nicht automatisch neu erzeugt, oder?

  6. Holz-Figuren-Shopam 10.03.2010 um 11:24

    Wie ich in meinem Logfile sehen kann, kommt Elm@r selbst zu definierten Zeiten (glaube das steht in einer der Config-Dateien oder wo du dich bei Elm@r angemeldet hast) und ruft ein script auf, welches die Products.csv neu schreibt.

  7. Udoam 10.03.2010 um 12:24

    Also die Products.csv (die ich irgendwann vor Monaten mal erzeugt hatte) hat sich nie von alleine geändert. Schau doch mal nach welches Datum die Datei hat.
    Hier ein Zitat aus dem Elmar Forum :
    >> … gehe ich recht in der Annahme das die products.csv bei aufruf von elmar_products.php automatisch generiert wird ? …
    … Wenn die products.csv automatisch beim Aufruf des Skripts elmar_products.php erstellt werden soll, muss man unter “Einstellungen” den Punkt “Produktdatei speichern” aktivieren. <<

    Also diese Option gibt es so bei mir so nicht. Ich kann nur einen Haken bei 'Erzeugen' machen und die Datei wird dann auf dem Server erzeugt. Die Option wird aber nicht gespeichert, so dass ich noch keinen Weg gefunden hab die Datei über einen Cronjob erzeugen zu lassen.

  8. Udoam 10.03.2010 um 15:45

    Es sei denn, die Datei muß nicht auf dem Server liegen?
    Ich weiss nicht wie die Portale arbeiten, aber vielleicht erzeugen die
    die Products.csv durch Aufrufen der elmar_products.php und downloaden direkt die temporär erzeugte Datei?
    Die Datei auf dem Server wird definitiv nicht automatisch neu geschrieben.

  9. Holz-Figuren-Shopam 10.03.2010 um 16:23

    Hallo Udo,
    wenn du die Seite elmar_start.php unterhalb deiner Domain aufrufst, dich mit dem Passwort was du vergeben hast anmeldest und dann auf Einstellungen gehst sollte der erste Eintrag dieser sein und dort steht auch die Erklärung zum Updateintervall:

    Produktdatei speichern
    Bitte stellen Sie ein, ob beim Abrufen von Produktdaten über die URL http://domain/elmar_products.php automatisch die Produktdatei Speicherort/products.csv erzeugt werden soll. Dies ist insbesondere dann sinnvoll, wenn der Server nicht der Schnellste ist, die Produktdaten sehr häufig abgerufen werden oder der Shop sehr viele Produkte führt. Anfragen an die URL werden dann gemäß UPDATEINTERVAL-Einstellung für 43200 Sekunden (12,0 Stunden) effizient durch Weiterleitung auf die generierte Produktdatei beantwortet. Danach erfolgt automatisch eine Aktualisierung der Produktdatei beim Abruf. Solange alle Preisvergleichsdienste die obige URL benutzen, brauchen Sie sich also nicht mehr um die Aktualisierung der Produktdatei zu kümmern!

    Der Updateintervall kann in der Datei elmar_config.inc.php unter Updateinterval eingestellt werden.

  10. Udoam 10.03.2010 um 19:36

    Öhhh … ich stehe gerade etwas auf dem Schlauch, weil es bei mir keinen Punkt ‘Einstellungen’ gibt. Ich nutze die Version 3.60 (steht ganz unten).
    Am linken Rand habe ich: Übersicht, Shopdatei, Registrierung, Testen 1, Testen 2, Produktdateien, Update, Feedback und System.

  11. Udoam 10.03.2010 um 19:49

    Hat sich erledigt.
    Wer lesen kann ist klar im Vorteil.
    Eine Elmar Datei hatte keinen Schreibzugriff, deshalb wurden gewisse Optionen nicht eingeblendet.
    Jetz funktioniert alles.
    Besten Dank.

  12. Holgeram 04.04.2010 um 18:40

    Hallo
    und vielen dank für die Info und Arbeit welche dahinter stecken muss.
    Bei Direkt URl V3 scheind es zu reichen wenn bei der, Elmar Datein, das Seo auf True gesetzt wird. In meinen Fall das KREUZ # entfernt wird.

  13. Holz-Figuren-Shopam 06.04.2010 um 08:08

    Danke für den Hinweis, wenn mich nicht alles täuscht setze ich noch die V2 ein. Allen mit der Direkt URL V3 wird dein Posting bestimmt helfen.

  14. Udoam 12.04.2010 um 18:29

    Offiziell gibt es kein Direct URL v2 oder v3.
    Direct URL ist von Bluegate und die aktuelle Version ist 1.06.
    Leider gibt es kein besseres URL Modul, was zusätzlich auch noch die Hersteller ID vernünftig auflöst.

Trackback URI | Kommentare als RSS

Einen Kommentar schreiben