Archiv für das Tag 'Elmar'

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.