Marktplatz - Eine große Auswahl an neuen und hilfreichen Modulen sowie modernen Templates für die modified eCommerce Shopsoftware
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: MODUL: Alternative zu googlebase.txt -> Google via XML-Feed

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.373
    • Geschlecht:
    Re: MODUL: Alternative zu googlebase.txt -> Google via XML-Feed
    Antwort #255 am: 17. November 2010, 11:33:52
    Nicht zu vergessen das Euro-Symbol, etc.

    Eine ganz gute Übersicht steckt in den "/inc/search_replace_XXXX.php" Dateien. ;-)

    Grüße

    Torsten

    Werbung / Banner buchen

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.871
    • Geschlecht:
    Re: MODUL: Alternative zu googlebase.txt -> Google via XML-Feed
    Antwort #256 am: 17. November 2010, 14:42:38
    Soooooooo, also ich bin jetzt schonmal soweit, dass er bis zum Produkt mit der id=1 durchläuft  :B

    Jetzt muss ich nur noch schauen, warum nicht alles bei google reinläuft, z.B. im kleinen Nebenshop laufen nur 75 von 75 rein, obwohl eigentlich 84 Artikel im Shop?!

    Schau ich mir heute abend nochmal an und geb dann Rückmeldung  ;)

    Grüße
    Voodoo

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.871
    • Geschlecht:
    Re: MODUL: Alternative zu googlebase.txt -> Google via XML-Feed
    Antwort #257 am: 17. November 2010, 19:04:25
    so, ich check's einfach nicht  :nixweiss:

    kann leider den Code nicht posten, weil er die Artikel ja teilweise nicht einliest. Aber warum macht er denn bitte sowas hier:
    http://www.sidebyside-shop.com/Haushalt/TV-Maid-grau-side-by-side::40.html -> geht nicht
    http://www.sidebyside-shop.com/Haushalt/TV-Maid-rot-side-by-side::39.html -> geht

    http://www.sidebyside-shop.com/Haushalt/Katzennapf-Tom-side-by-side::47.html -> geht nicht
    http://www.sidebyside-shop.com/Haushalt/Hundenapf-Spike-side-by-side::46.html -> geht

    Findet einer von euch irgendwas unstimmiges? Hier nochmal die komplette google_rss_feed.php:

    Code: PHP  [Auswählen]
    <?php
    /*
    *       Copyright 2009 - Daniel Siekiera / Sebastian Schramm
    *
    *       (( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! )) - Ein Projekt von (( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))
    *
    *       Released under the GNU General Public License
    *
    */


    include ('includes/configure.php');
    include ('includes/application_top.php');

    $Title = "Produkt Feed von " . HTTP_SERVER;
    $Description = "Alle Produkte von " . HTTP_SERVER;
    $copyright = HTTP_SERVER;

    $SiteLink = HTTP_SERVER .DIR_WS_CATALOG ;

    if(GOOGLE_RSS_FEED_REFID !='' && GOOGLE_RSS_FEED_REFID !='0')
            $refID = '?refID='.GOOGLE_RSS_FEED_REFID;

    if(GROUP_CHECK == 'true') {
            $group_check = " and p.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 ";
    }
    if($_SESSION['customers_status']['customers_fsk18_display'] == '0') {
            $fsk_lock = ' and p.products_fsk18!=1';
    }

    $query = "SELECT
                            p.products_id,
                p.products_ean,
                            pd.products_name,
                pd.products_short_description,
                pd.products_description,
                            p.products_price,
                            p.products_image,
                            p.manufacturers_id,
                            p.products_weight,
                    p.products_model,
                    p.products_quantity,
                p.group_permission_1,
                            p.products_date_added,
                            p.products_tax_class_id,
                            s.specials_new_products_price
                            FROM (products p INNER JOIN products_description pd ON p.products_id = pd.products_id) LEFT JOIN specials s ON p.products_id = s.products_id
                            WHERE p.products_status = '1'
                            AND pd.language_id = '2'
                            AND IF(s.specials_new_products_price>0, s.status = '1', '1')
                            "
    .$group_check.$fsk_lock."
                            ORDER BY p.products_date_added DESC"
    ;

    $listing_query = xtDBquery($query);

    require (DIR_WS_CLASSES.'order.php');
    $order = new order;

    $default_data = xtc_db_fetch_array(xtc_db_query(" SELECT ab.entry_postcode,
                                                                                    z.zone_name,z.zone_id,
                                                                                    ab.entry_country_id,
                                                                                    c.countries_id,
                                                                                    c.countries_name,
                                                                                    c.countries_iso_code_2,
                                                                                    c.countries_iso_code_3,
                                                                                    c.address_format_id
                                                                                    FROM address_book ab, zones z, countries c
                                                                                    WHERE ab.address_book_id = '1'
                                                                                    AND z.zone_id = ab.entry_zone_id
                                                                                    AND c.countries_id = ab.entry_country_id"
    ));

          $order->customer = array('postcode' => $default_data['entry_postcode'],
                                  'state' => $default_data['zone_name'],
                                  'zone_id' => $default_data['zone_id'],
                                  'country' =>
                                  Array( 'id' => $default_data['countries_id'],
                                             'title' => $default_data['countries_name'],
                                             'iso_code_2' => $default_data['countries_iso_code_2'],
                                             'iso_code_3' => $default_data['countries_iso_code_3'] ),
                                  'format_id' => $default_data['address_format_id']);

          $order->delivery = array('postcode' => $default_data['entry_postcode'],
                                  'state' => $default_data['zone_name'],
                                  'zone_id' => $default_data['zone_id'],
                                  'country' =>
                                  Array( 'id' => $default_data['countries_id'],
                                             'title' => $default_data['countries_name'],
                                             'iso_code_2' => $default_data['countries_iso_code_2'],
                                             'iso_code_3' => $default_data['countries_iso_code_3'] ),
                                  'format_id' => $default_data['address_format_id']);

    $_SESSION['delivery_zone'] = $order->delivery['country']['iso_code_2'];

    require (DIR_WS_CLASSES.'shipping.php');
    $shipping = new shipping;
    require_once (DIR_FS_INC.'xtc_get_products_mo_images.inc.php');
    require_once (DIR_FS_INC.'xtc_get_tax_rate.inc.php');
    require_once (DIR_WS_CLASSES.'xtcPrice.php');
    $xtPrice = new xtcPrice(DEFAULT_CURRENCY, $_SESSION['customers_status']['customers_status_id']);

    header("Content-Type: text/xml");
    echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n\n";
    echo "<rss version=\"2.0\" xmlns:g=\"http://base.google.com/ns/1.0\" xmlns:c=\"http://base.google.com/cns/1.0\">\n\n";
    echo "<channel>\n";
    echo "\t<title>$Title</title>\n";
    echo "\t<link>$SiteLink</link>\n";

    while ($listing = xtc_db_fetch_array($listing_query, true)) {

            $_SESSION['cart']->remove_all();
            $_SESSION['cart']->add_cart($listing['products_id'], 1, '', false);
            $total_weight = $_SESSION['cart']->show_weight();

            $total_count = $_SESSION['cart']->count_contents();

            $quotes = $shipping->quote();

            $link = xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($listing['products_id'],$listing['products_name']),'NONSSL', false);

            $price = $xtPrice->xtcGetPrice($listing['products_id'], $format = false, 1, $listing['products_tax_class_id'], $listing['products_price']);
            $price = str_replace('0,00','0,01',$price); // Google akzeptiert keine Preise wie 0,00
            $price = $xtPrice->xtcFormat($price,true);
            $price = str_replace('&euro;','EUR',$price);

            $products_name = $listing['products_name'];
            $products_name = str_replace ("&", "&amp;", $products_name);
            $products_name = str_replace ("\n", " ", $products_name);

            // Umlaute und Sonderzeichen umwandeln bei "Kompatibel mit"
            $xsell_products_name = $xsell['products_name'];
            $xsell_products_name = str_replace ("&", "&amp;", $xsell_products_name);
            $xsell_products_name = str_replace ("\n", " ", $xsell_products_name);
            $xsell_products_name = str_replace ("Ö", "&Ouml;", $xsell_products_name);
            $xsell_products_name = str_replace ("ö", "&ouml;", $xsell_products_name);
            $xsell_products_name = str_replace ("Ü", "&Uuml;", $xsell_products_name);
            $xsell_products_name = str_replace ("ü", "&uuml;", $xsell_products_name);
            $xsell_products_name = str_replace ("Ä", "&Auml;", $xsell_products_name);
            $xsell_products_name = str_replace ("ä", "&auml;", $xsell_products_name);
            $xsell_products_name = str_replace ("ß", "&szlig;", $xsell_products_name);

            if($listing['products_description'] !='')
                    $beschreibung = $listing['products_description'];
            elseif($listing['products_short_description'] !='')
                    $beschreibung = $listing['products_short_description'];
            else
                    $beschreibung = $products_name;

            if($listing['manufacturers_id']> '0')
                    $marke = xtc_db_fetch_array(xtc_db_query("SELECT manufacturers_name FROM ".TABLE_MANUFACTURERS." WHERE manufacturers_id = '".$listing['manufacturers_id']."'"));

            // Kompatibel mit

            $cross_query = xtDBquery("SELECT p.products_fsk18,
                                                            p.products_tax_class_id,
                                p.products_id,
                                p.products_image,
                                p.products_model,
                                pd.products_name,
                                                            pd.products_short_description,
                                p.products_fsk18,
                                                            p.products_price,
                                                            p.products_vpe,
                                                            p.products_vpe_status,
                                                            p.products_vpe_value,
                                xp.sort_order from "
    .TABLE_PRODUCTS_XSELL." xp, ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_DESCRIPTION." pd
                                    WHERE xp.xsell_id = '"
    .$listing['products_id']."'
                                                            AND xp.products_id = p.products_id "
    .$fsk_lock.$group_check."
                                    AND p.products_id = pd.products_id
                                    AND pd.language_id = '2'
                                    AND p.products_status = '1'
                                    ORDER BY xp.sort_order asc"
    );

            echo "\n\n\t<item>\n";

            // Produktname
            echo "\t\t<title>" . $products_name . "</title>\n";

            // Link
            echo "\t\t<link>" . $link . $refID . "</link>\n";

            // Beschreibung
            echo "\t\t<g:beschreibung><![CDATA[".$beschreibung."]]></g:beschreibung>\n";

            // Produkt ID
            echo "\t\t<g:id>" . $listing['products_id'] . "</g:id>\n";

            // EAN Nummer
            if(!empty($listing['products_ean']))
                    echo "\t\t<g:ean>".$listing['products_ean']."</g:ean>\n";

            // Gewicht
            if($listing['products_weight'] !='0.00')
                    echo "\t\t<g:gewicht>".$listing['products_weight']." kg</g:gewicht>\n";

            // Herstellername
            if($listing['manufacturers_id']> '0')
                    echo "\t\t<g:marke>".$marke['manufacturers_name']."</g:marke>\n";

            // Produktbilder, jedoch nicht mehr als insgesamt 10
            if(!empty($listing['products_image']))
                    echo "\t\t<g:bild_url>".HTTP_SERVER.DIR_WS_CATALOG.DIR_WS_THUMBNAIL_IMAGES.$listing['products_image']."</g:bild_url>\n";
            $images = xtc_get_products_mo_images($listing['products_id']);
            if($images) {
                foreach($images as $image) {
                    $b++;
                    echo "\t\t<g:bild_url>".HTTP_SERVER.DIR_WS_CATALOG.DIR_WS_THUMBNAIL_IMAGES.$image['image_name']."</g:bild_url>\n";
                    if($b==9)
                            break;
                }
            }
            // Alternativ zur MPN die Modelnummer
            if(!empty($listing['products_model']))
                    echo "\t\t<g:mpn>".$listing['products_model']."</g:mpn>\n";

            // Fertiger Produktpreis
            echo "\t\t<g:preis>".$price."</g:preis>\n";

            // Menge
            if($listing['products_quantity']> 0)
                    echo "\t\t<g:menge>".$listing['products_quantity']."</g:menge>\n";

            // Zustand
            echo "\t\t<g:zustand>Neu</g:zustand>\n";

            // Kompatibel mit
            if(xtc_db_num_rows($cross_query)) {
                    while ($xsell = xtc_db_fetch_array($cross_query, true)) {
                                    $marke_komp = xtc_db_fetch_array(xtc_db_query("SELECT manufacturers_name FROM ".TABLE_MANUFACTURERS." WHERE manufacturers_id = '".$xsell['products_id']."'"));
                                    echo "\t\t<g:kompatibel_mit>\n";
                                    echo "\t\t\t<g:titel>".$xsell_products_name. "</g:titel>\n";
                                    echo "\t\t\t<g:mpn>".$xsell['products_model']. "</g:mpn>\n";
                                    if(!empty($marke_komp))
                                            echo "\t\t\t<g:marke>".$marke_komp['manufacturers_name']. "</g:marke>\n";
                                    echo "\t\t</g:kompatibel_mit>\n";
                    }
            }

            // Versandkosten
            $i = 1;
            foreach ($quotes AS $quote) {
                    echo "\t\t<g:versand>\n";
                    echo "\t\t\t<g:land>DE</g:land>\n";
                    echo "\t\t\t<g:region></g:region>\n";
                    echo "\t\t\t<g:service>".$quote['module']."</g:service>\n";
                    echo "\t\t\t<g:preis>".($quote['tax']> 0 ? round(($quote['methods'][0]['cost'] * ( 100 + $quote['tax'] ) / 100),2) : (!empty($quote['methods'][0]['cost']) ? $quote['methods'][0]['cost'] : '0'))."</g:preis>\n";
                    echo "\t\t</g:versand>\n";
                    if($i==10)
                            break;
                    $i++;
            }
            echo "\t</item>";
    }

    echo "</channel>\n";
    echo "</rss>";
    $_SESSION['cart']->reset(true);
    unset($_SESSION['cart']);
    ?>
    Grüße
    Voodoo

    PS: &amp; etc. sind wieder mit Leerzeichen...

    franky_n

    • Experte
    • Beiträge: 4.950
    Re: MODUL: Alternative zu googlebase.txt -> Google via XML-Feed
    Antwort #258 am: 17. November 2010, 20:00:29
    Hallo voodoopupp,

    Du hast meinen Vorschlag komplett an der falschen Stelle eingebaut...  :whistle:

    Poste bitte mal die Originaldatei als zip.
    Quelltext bringt mir hier jetzt gerade gar nöscht! :)

    Viele Grüße

    Franky

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.871
    • Geschlecht:
    Re: MODUL: Alternative zu googlebase.txt -> Google via XML-Feed
    Antwort #259 am: 17. November 2010, 21:20:32
    Hi Franky,

    also anbei mal die beiden Dateien - ich check's ja nicht.  :flee-mrgreen:

    Grüße
    Voodoo

    P.S.: die Original-Datei hatte ich wie von Dokuman im ersten Beitrag bearbeitet, ist aber in der hier beigefügten Datei nicht enthalten, da ja original. ;)

    franky_n

    • Experte
    • Beiträge: 4.950
    Re: MODUL: Alternative zu googlebase.txt -> Google via XML-Feed
    Antwort #260 am: 17. November 2010, 23:08:12
    Hi vodoopupp,

    dann probier es mal damit.
    Ich habe mir es doch noch etwas anders umgebaut mit einer Funktion die die Sonderzeichen umwandelt (oben in der Datei):
    change_special_chars()

    Diese setze ich dann unten im Skript für den Produktnamen und den Herstellernamen ein.
    Somit werden alle Umlaute die & Zeichen das Euro Zeichen auf HTML Entities (z.B.: &auml;) umgewandelt und sollten bei Google nicht mehr stören.

    Viel Erfolg!

    Viele Grüße

    Franky

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.871
    • Geschlecht:
    Re: MODUL: Alternative zu googlebase.txt -> Google via XML-Feed
    Antwort #261 am: 17. November 2010, 23:50:40
    Hey Franky,

    danke dir für deine Mühen, nur leider werden mir dann mit deiner Datei 0 Produkte angezeigt, wenn ich die Datei im Browser (www.example.com/google_rss_feed.php) lade  :`(

    Irgendwie fehlt mir da ein wenig der Durchblick...

    Danke & Grüße
    Voodoo

    franky_n

    • Experte
    • Beiträge: 4.950
    Re: MODUL: Alternative zu googlebase.txt -> Google via XML-Feed
    Antwort #262 am: 18. November 2010, 07:31:05
    Hallo voodoopupp,

    also ich sehe in der Datei jetzt gerade keinen Fehler.
    Habe in der Funktion nach dem str_replace noch mal das Leerzeichen rausgenommen. Kann mir zwar nicht vorstellen das es stört aber ist ein Versuch wert. ;)

    Also was ich geändert habe.

    Funktion oben eingefügt Z.15-28:

    Code: PHP  [Auswählen]
    function change_special_chars($string) {
      // Umlaute und Sonderzeichen umwandeln
      $string = str_replace("&", "&amp;", $string);
      $string = str_replace("\n", " ", $string);
      $string = str_replace("Ö", "&Ouml;", $string);
      $string = str_replace("ö", "&ouml;", $string);
      $string = str_replace("Ü", "&Uuml;", $string);
      $string = str_replace("ü", "&uuml;", $string);
      $string = str_replace("Ä", "&Auml;", $string);
      $string = str_replace("ä", "&auml;", $string);
      $string = str_replace("ß", "&szlig;", $string);
      $string = str_replace("€","EUR",$string);
      return $string;
    }
    Z.142:

    Code: PHP  [Auswählen]
            $products_name = change_special_chars($listing['products_name']);
    Z.145

    Code: PHP  [Auswählen]
                    $beschreibung = change_special_chars($listing['products_description']);
    Z.147:

    Code: PHP  [Auswählen]
                    $beschreibung = change_special_chars($listing['products_short_description']);
    Z.200:

    Code: PHP  [Auswählen]
                    echo "\t\t<g:marke>".change_special_chars($marke['manufacturers_name'])."</g:marke>\n";
    Z.233:

    Code: PHP  [Auswählen]
                                    echo "\t\t\t<g:titel>".change_special_chars($xsell['products_name']). "</g:titel>\n";
    Z.236

    Code: PHP  [Auswählen]
                                            echo "\t\t\t<g:marke>".change_special_chars($marke_komp['manufacturers_name']). "</g:marke>\n";
    Ansonsten ist alles gleich geblieben zu Deiner angepassten Version...
    Falls es dann nicht klappt mal diese geänderten Zeilen zurück ändern (außer die Funktion) und schauen wo es hakt. :)

    Viele Grüße

    Franky

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.871
    • Geschlecht:
    Re: MODUL: Alternative zu googlebase.txt -> Google via XML-Feed
    Antwort #263 am: 18. November 2010, 09:54:45
    so, also nach dem ganzen Testen von deinen Änderungen bin ich zu folgendem Schluss gekommen:
    es hilft alles nichts  :D

    Also ich hab jetzt einfach nochmal mit der originalen Datei hantiert und dann deine Anweisungen teilweise ein- und ausgebaut.

    Folgendes Ergebnis, damit ich wieder auf meine 75 von 75 Produkte komme:

    lösche Zeile

    Code: PHP  [Auswählen]
    p.products_zustand,
    ändere

    Code: PHP  [Auswählen]
    echo "\t\t<g:zustand>".$listing['products_zustand']. "</g:zustand>\n"
    in

    Code: PHP  [Auswählen]
    echo "\t\t<g:zustand>Neu</g:zustand>\n";
    ändere

    Code: PHP  [Auswählen]
    echo "\t\t\t<g:titel>".$xsell['products_name']. "</g:titel>\n";
    in

    Code: PHP  [Auswählen]
    echo "\t\t\t<g:titel>".$xsell_products_name. "</g:titel>\n";
    Das war es schon - danach laufen (zumindest bei mir) keine Fehler auf, in Bezug auf Umlaute usw....somit wird anscheinend der ganze zusätzliche Code von wegen Umlaute ersetzen gar nicht benötigt

    ABER:
    Warum jedoch immer noch nur 75 von 75 Produkte ausgewiesen werden, anstatt 84 über die googlebase.php (XT-Module) wundert mich wirklich.

    Demnach denke ich, dass dieser "Fehler" aus einem Unterschied dieser beiden Dateien herrührt, und nicht wirklich was mit der Thematik innerhalb der google_rss_feed.php zu tun hat!? Aber was ist die Frage  :roll:

    Grüße
    Voodoo

    franky_n

    • Experte
    • Beiträge: 4.950
    Re: MODUL: Alternative zu googlebase.txt -> Google via XML-Feed
    Antwort #264 am: 18. November 2010, 10:29:26
    Hallo voodoopupp,

    aber Du hast doch bestätigt das es auch an den Umlauten liegt:

    Hey Franky,

    das war der richtige Tip - nur muss das nicht in der Beschreibung passieren, sondern in den "Kompatiblen"-Produkten - habs mal durch Änderung des Fehlerhaften Produktes gelöst (die "Serviettenringe names & notes 2er-Set" händisch mal auf &amp; geändert - halt ohne Leerzeichen)
    -> und schwupps läuft das Ding  :thumbs:
    [...]

    Und jetzt doch nicht? Sehr komisch! :)

    EDIT: Übrigens wird die überarbeitete Version wahrscheinlich bei den Crossselling Produkten beim Produktnamen nichts auswerfen denn die Variable $xsell_products_name ist nicht definiert:

    Code: PHP  [Auswählen]
                                    echo "\t\t\t<g:titel>".$xsell_products_name. "</g:titel>\n";
     
    Viele Grüße

    Franky

    break2k

    • Neu im Forum
    • Beiträge: 7
    Re: MODUL: Alternative zu googlebase.txt -> Google via XML-Feed
    Antwort #265 am: 18. November 2010, 10:45:44
    Hallo zusammen,

    ich habe ein Problem mit den <g:versand> Teil des XML Feeds.

    Fehlerbeschreibung:
    Ich habe einen OnlineShop, der täglich viele Artikel in Google Base reinschiebt. Alles findet über die aktuellste Version von diesem Modul hier statt: Google RSS Feed

    Was von dem Modul erwartet wird:

    Code: PHP  [Auswählen]
        <g:versand>
            <g:land>DE</g:land>
            <g:region></g:region>
            <g:service>Versand</g:service>
            <g:preis>3.9</g:preis>
        </g:versand>
     
    Ein solche Ausgabe in der Sektion Versand.

    Was ich jedoch erhalte:

    Code: PHP  [Auswählen]
        <g:versand>
            <g:land>DE</g:land>
            <g:region></g:region>
            <g:service>Versandkostenfrei</g:service>
            <g:preis>0</g:preis>
        </g:versand>
     
    Installiert sind zwei Versandmodule, die folgende Reihenfolge haben:
    Zitat
    0 Versandpauschale (dp)
    1 Versandkostenfrei (freeamount)
    Nun wird trotz richtiger Angabe, welches Versandmodul ausgewählt werden soll (im Shop), im RSS Feed immer Versandkostenfrei angezeigt.

    Hat schon mal jemand ein ähnliches Problem oder wüsste, wo man da ansetzen muss ?

    Gruß
    break2k

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.871
    • Geschlecht:
    Re: MODUL: Alternative zu googlebase.txt -> Google via XML-Feed
    Antwort #266 am: 18. November 2010, 11:31:06
    So, ich verwirre mich und andere hier definitiv total ^^

    also die beigefügte Datei aus diesem Beitrag http://www.modified-shop.org/forum/topic.php?id=2134&page=18#post-92150 funktioniert deswegen nur bis zum ersten Produkt, weil er mit der Zeile

    Code: PHP  [Auswählen]
    echo "\t\t\t<g:titel>".$xsell_products_name. "</g:titel>\n";
    nichts anfangen kann...

    ...also liegt das Problem mit den Umlauten weiterhin vor  :|

    das Problem von break2k kann ich auch bestätigen:

    Code: PHP  [Auswählen]
                    <g:versand>
                            <g:land>DE</g:land>

                            <g:region></g:region>
                            <g:service>Versandkostenfrei</g:service>
                            <g:preis>0</g:preis>
                    </g:versand>
                    <g:versand>
                            <g:land>DE</g:land>
                            <g:region></g:region>

                            <g:service>Versand</g:service>
                            <g:preis>3.9</g:preis>
                    </g:versand>
     
    und dann zieht er immer für alle Artikel nur das erste -> alle Artikel sind also kostenlos versendet  :D

    Boa, was ne Baustelle irgendwie ^^

    Grüße
    Voodoo

    franky_n

    • Experte
    • Beiträge: 4.950
    Re: MODUL: Alternative zu googlebase.txt -> Google via XML-Feed
    Antwort #267 am: 18. November 2010, 16:50:38
    Hallo voodoopupp,

    in dem verlinkten Post hast Du 2 Dateien.
    Ich blicke so langsam nicht mehr durch welche Dateien Du jetzt zum Testen benutzt und welche nicht...

    Kannst Du nicht einfach mal hier drunter nur die Datei anhängen die jetzt bei Dir aktuell ist und wo Du zwar 75 Produkte in Google reinbeamen kannst aber noch ca 9 Stück fehlen?
    Dann nur noch mal als Text angeben was nicht funktioniert...

    Viele Grüße

    Franky

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.871
    • Geschlecht:
    Re: MODUL: Alternative zu googlebase.txt -> Google via XML-Feed
    Antwort #268 am: 18. November 2010, 22:32:08
    Hi Franky,

    ja ich weiß. Checks auch schon fast nicht mehr - sorry, wirklich  :whistle:

    Also nochmal: die hier beigefügte funktioniert, so dass 75 von insgesamt 84 Produkten bei google reinlaufen.

    ABER:
    das geht auch nur, weil die Ersetzung der Umlaute bei

    Code: PHP  [Auswählen]
    echo "\t\t\t<g:titel>".$xsell_products_name. "</g:titel>\n";
    gar nicht funktioniert...sprich, die Datei kommt nur damit klar, weil sie die Umlaute gar nichts ersetzt, denn diese Variable wird ganz einfach nicht erkannt. Das Feld "Titel" bei "kompatibel mit" bleibt einfach nur leer.

    Somit kann ich auch einfach diese beiden Blöcke entfernen und komme quasi zum gleichen Ergebnis:

    Code: PHP  [Auswählen]
    // Umlaute und Sonderzeichen umwandeln bei "Kompatibel mit"
            $xsell_products_name = $xsell['products_name'];
            $xsell_products_name = str_replace ("&", "&amp;", $xsell_products_name);
            $xsell_products_name = str_replace ("\n", " ", $xsell_products_name);
            $xsell_products_name = str_replace ("Ö", "&Ouml;", $xsell_products_name);
            $xsell_products_name = str_replace ("ö", "&ouml;", $xsell_products_name);
            $xsell_products_name = str_replace ("Ü", "&Uuml;", $xsell_products_name);
            $xsell_products_name = str_replace ("ü", "&uuml;", $xsell_products_name);
            $xsell_products_name = str_replace ("Ä", "&Auml;", $xsell_products_name);
            $xsell_products_name = str_replace ("ä", "&auml;", $xsell_products_name);
            $xsell_products_name = str_replace ("ß", "&szlig;", $xsell_products_name);
     
    und

    Code: PHP  [Auswählen]
            // Kompatibel mit
            if(xtc_db_num_rows($cross_query)) {
                    while ($xsell = xtc_db_fetch_array($cross_query, true)) {
                                    $marke_komp = xtc_db_fetch_array(xtc_db_query("SELECT manufacturers_name FROM ".TABLE_MANUFACTURERS." WHERE manufacturers_id = '".$xsell['products_id']."'"));
                                    echo "\t\t<g:kompatibel_mit>\n";
                                    echo "\t\t\t<g:titel>".$xsell_products_name. "</g:titel>\n";
                                    echo "\t\t\t<g:mpn>".$xsell['products_model']. "</g:mpn>\n";
                                    if(!empty($marke_komp))
                                            echo "\t\t\t<g:marke>".$marke_komp['manufacturers_name']. "</g:marke>\n";
                                    echo "\t\t</g:kompatibel_mit>\n";
                    }
            }
    Nur hab ich halt dann keine kompatiblen Produkte in der XML Datei. Die Frage ist jetzt ja nur: für was bitte braucht die das Merchant Center von Google überhaupt?  :oh-no:

    Grüße
    Voodoo

    franky_n

    • Experte
    • Beiträge: 4.950
    Re: MODUL: Alternative zu googlebase.txt -> Google via XML-Feed
    Antwort #269 am: 18. November 2010, 23:21:27
    Hallo voodoopupp,

    ok so dann habe ich jetzt auch nur mal das $xsell_products_name so geändert das nun dort ein Wert drin stehen müsste.

    Diese Sachen sind für das Crossselling, bedeutet das dann auch andere Produkte (kompatible Produkte) bei diesem Produkt vorgeschlagen werden.

    Hier mal die Datei und dann mal probieren.
    Ich denke man muß sich hier langsam rantasten und schauen wie Google reagiert ansonsten wird nie was.
    Wenn das dann funktioniert kann man noch mal schauen wegen der Versandkosten. :)

    Viele Grüße

    Franky

    Templateshop - Eine große Auswahl an neuen und modernen Templates für die modified eCommerce Shopsoftware