Artikel Exportieren

MyOOS hat einen Fehler, oder tut nicht das, was Ihr erwartet? Derartige "Unanehmlichkeiten" bitte hier.
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Artikel Exportieren

Beitrag von wolfschw »

Hallo,

gibt es eine Möglichkeit alle Artikel im Shop mit der Artikelnummer und der Artikelbeschreibungen
als HTML Format zu Exportieren ?

gruß

Wolfgang
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: Artikel Exportieren

Beitrag von r23 »

Hallo,

aufbasis von

~/shop/admin/export_psm.php

kann man sich einen HTML export erstellen

Code: Alles auswählen

      $products_sql = "SELECT 
                             p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_image, p.products_price, p.products_status, 
                             p.products_discount_allowed, p.products_tax_class_id, 
                             IF(s.status, s.specials_new_products_price, NULL) AS specials_new_products_price, 
                             p.products_date_added, m.manufacturers_name 
                         FROM
                             " . $oostable['products'] . " p LEFT JOIN
                             " . $oostable['manufacturers'] . " m 
                           ON p.manufacturers_id = m.manufacturers_id LEFT JOIN
                             " . $oostable['products_description'] . " pd 
                           ON p.products_id = pd.products_id AND
                            pd.products_languages_id = '1' LEFT JOIN
                             " . $oostable['specials'] . " s 
                           ON p.products_id = s.products_id 
                         WHERE 
                           (p.products_status >= '1' or p.products_status <= '4')  
                         ORDER BY
                            p.products_date_added DESC, 
                            pd.products_name";
        $products_result = $dbconn->Execute($products_sql);
        while ($products = $products_result->fields) {
          if ( (oos_is_not_null($products['products_name'])) && (oos_is_not_null($products['products_image'])) && (oos_is_not_null($products['products_model'])) && (oos_is_not_null($products['products_description'])) ) {
            if (isset($products['specials_new_products_price'])) {
              $products_price =  $currencies->psm_price($products['specials_new_products_price'], oos_get_tax_rate($products['products_tax_class_id']));
            } else {
              $products_price =  $currencies->psm_price($products['products_price'], oos_get_tax_rate($products['products_tax_class_id']));
            }
            switch ($products['products_status']) {
              case '1': 
              case '2':
                $products_status = 'nicht verfgbar';
                break;

              case '3':
              case '4':
                $products_status = '3 Tage';
              break;
            }
            $products_description = strip_tags($products['products_description']);
            $products_description = substr($products_description, 0, 250) . '..';
            $products_description = str_replace(";",", ",$products_description);
            $products_description = str_replace("\n"," ",$products_description);
            $products_description = str_replace("\r"," ",$products_description);
            $products_description = str_replace("\t"," ",$products_description);
            $products_description = str_replace("\v"," ",$products_description);
            $products_description = str_replace("&quot,"," \"",$products_description);
            $schema .= $products['products_model'] . ';' .
                       $products['products_name'] . ';' .
                       $products_price. ';' .
                       $products_status. ';' .
                       OOS_HTTP_SERVER . OOS_SHOP . 'index.php?mp=' . $oosModules['products'] . '&file=' . $oosCatalogFilename['product_info'] . '&products_id=' . $products['products_id'] . ';' .
                       OOS_HTTP_SERVER . OOS_IMAGES . $products['products_image'] . ';' .
                       $products_description . "\n";
          }

          // Move that ADOdb pointer!
          $products_result->MoveNext();
        }
        // Close result set
        $products_result->Close();
ist die Datenabfrage und Reduzierung

Aus

Code: Alles auswählen

            $products_description = strip_tags($products['products_description']);
            $products_description = substr($products_description, 0, 250) . '..';
            $products_description = str_replace(";",", ",$products_description);
            $products_description = str_replace("\n"," ",$products_description);
            $products_description = str_replace("\r"," ",$products_description);
            $products_description = str_replace("\t"," ",$products_description);
            $products_description = str_replace("\v"," ",$products_description);
            $products_description = str_replace("&quot,"," \"",$products_description);
wird

Code: Alles auswählen

            $products_description = $products['products_description'];
aus

Code: Alles auswählen

        $schema = 'Bestellnummer;Bezeichnung;Preis;Lieferzeit;ProduktLink;FotoLink;Beschreibung' . "\n";
wird der HTML-Header

Code: Alles auswählen

$schema = '<!DOCTYPE html>' . "\n";
$schema .= '<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"de-DE\" prefix=\"og: http://ogp.me/ns#\">' . "\n";
$schema = '<head>' . "\n";
usw.

aus

Code: Alles auswählen

            $schema .= $products['products_model'] . ';' .
                       $products['products_name'] . ';' .
                       $products_price. ';' .
                       $products_status. ';' .
                       OOS_HTTP_SERVER . OOS_SHOP . 'index.php?mp=' . $oosModules['products'] . '&file=' . $oosCatalogFilename['product_info'] . '&products_id=' . $products['products_id'] . ';' .
                       OOS_HTTP_SERVER . OOS_IMAGES . $products['products_image'] . ';' .
                       $products_description . "\n";
wird die HTML - Ausgabe:

zum Beispiel

Code: Alles auswählen

 $schema .=  '<table><tr><td>' . $products['products_model'] . '</td><td>' .
                       $products['products_name'] . '</td><td>' .
                       $products_price. '</td><td>' .
                       $products_description '</td></tr></table>. "\n";


und zum Schluss nicht als cvs Datei sondern als html Datei abspeichern

Code: Alles auswählen

 $psm_file = OOS_PSM_PATH . OOS_PSM_FILE . '.csv';
        if ($fp = fopen($psm_file, 'w')) {
          fputs($fp, $schema);
          fclose($fp);
wird

Code: Alles auswählen

 $psm_file = OOS_PSM_PATH . OOS_PSM_FILE . '.html';
        if ($fp = fopen($psm_file, 'w')) {
          fputs($fp, $schema);
          fclose($fp);
aus 'OOS_PSM_PATH . OOS_PSM_FILE' kann man dann auch einen Pfade zum Shop erstellen:

Code: Alles auswählen

 $psm_file = '/usr/home/shop/download/katalog.html';

Hilft dies weiter?

Ralf
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Re: Artikel Exportieren

Beitrag von wolfschw »

Puh..................

jetzt wird's kompliziert.

Ich bräuchte eigentlich nur die Artikelnummer und die Beschreibung.
Die Artikel-Beschreibung sollte dann auch so in der Formatierung Exportiert werden wie im Shop ersichtlich.
Diese Beschreibung soll dann in unsere Warenwirtschaft Importiert werden.

Beispiel:

http://www.jura-ersatzteile-shop.de/inf ... p-157.html

Diese Datei sollte eine csv oder eine Text-Datei sein sonst kann ich diese nicht Importieren.

Ist dieses überhaupt möglich ?
Sonst müsste ich alles von Hand eintragen, das wäre sehr aufwendig.

Gruß

Wolfgang
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: Artikel Exportieren

Beitrag von r23 »

Hallo Wolfgang,

die Ausgabe ist in dieser Zeile

Code: Alles auswählen

 $schema .=  '<table><tr><td>' . $products['products_model'] . '</td><td>' .
                       $products['products_name'] . '</td><td>' .
                       $products_price. '</td><td>' .
                       $products_description '</td></tr></table>. "\n";
$products_description ist die Beschreibung
$products['products_model'] ist die Artikel-nummer
Diese Datei sollte eine csv oder eine Text-Datei sein sonst kann ich diese nicht Importieren.
Ich habe dir die export_psm angepasst. (konnte ich leider nicht testen)

http://oos-shop.de/service/export_psm.txt

einfach die vorhandene export_psm.php Datei sichern und mit dieser im
~/shop/admin/ überschreiben.

Admin => export => Preissuchmaschine oder die Datei im Browser aufrufen.

Die Datentelder werden mit | getrennt.


Ich hoffe, die Änderungen helfen weiter.

Habe heute meinen ersten Halbentag nach Wochen :(

beste Grüße
Ralf
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Re: Artikel Exportieren

Beitrag von wolfschw »

Hallo Ralf,

die Datei funktioniert.
Kann man die Datenfelder auch mit einen Semikolon trennen?
Dann habe ich mit den Umlauten noch ein Problem
hier kommt dann zB.
Ersatzteil passend f&uumlr
raus.

gruß

Wolfgang
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: Artikel Exportieren

Beitrag von r23 »

Hallo Wolfgang,

die geänderte Datei ist online.

ich trenne nun mit ; und schreibe mit http://www.php.net/manual/de/function.h ... decode.php HTML um.

Hier die neue Datei
http://oos-shop.de/service/export_psm.txt

Beste Grüße

Ralf
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Re: Artikel Exportieren

Beitrag von wolfschw »

Hallo Ralf,

jetzt habe ich keine Artikel-Beschreibung mehr, die Spalte ist leer.

Gruß

Wolfgang
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: Artikel Exportieren

Beitrag von r23 »

Hallo,

ich habe html-entity-decode angepasst
http://www.php.net/manual/de/function.h ... decode.php


http://oos-shop.de/service/export_psm.txt

Hoffe, es funktioniert diesmal :(

Ralf
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Re: Artikel Exportieren

Beitrag von wolfschw »

Hallo Ralf

Datei ist noch ohne Beschreibung

http://www.jura-ersatzteile-shop.de/foren/artikel.jpg

Gruß
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: Artikel Exportieren

Beitrag von r23 »

Hallo,


für die Ausgabe ist nun :

Code: Alles auswählen

            $sStr = $products['products_description'];
            $o42_cu_chars['ecto'] = array(
                    '&euro', '&Auml;', '&auml;', '&Ouml;', '&ouml;', '&Uuml;', '&uuml;', '&szlig;', '&copy;', '&trade;', '&reg;'
                        );
            $o42_cu_chars['perma'] = array(
                    '€', 'Ä', 'ä', 'Ö', 'ö', 'Ü', 'ü', 'ß', '©', '™ ', '®'
            );
            
            $sStr = str_replace($o42_cu_chars['ecto'], $o42_cu_chars['perma'], $sStr);
            
            $schema .= $products['products_model'] . ';' .
                       $sStr . "\n";
 
verantwortlich. Sollten weitere Sonderzeichen im Shop verwendet werden? kann man die beiden Zeilen eben erweitern.

jetzt sollte es aber funktionieren?

Beste Grüße

Ralf
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Re: Artikel Exportieren

Beitrag von wolfschw »

Hallo Ralf,

ich will ja nicht nerven, aber es geht nicht.

Bitte mal selber testen.
Du hast noch Zugang zum Adminbereich.

Gruß

Wolfgang
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Re: Artikel Exportieren

Beitrag von wolfschw »

Hallo Ralf,

Wenn die Artikel-Beschreibung so aussieht wie in diesem Beispiel:
http://www.jura-ersatzteile-shop.de/inf ... p-162.html

Dann sollte der HTML-Code so wie in der Artikel-Beschreibung aussehen:

<p>Jura Ersatzteile Reparaturset f&uuml;r die Wartung der <br />
Jura S / C / E / F / J / X / Z / ENA - Serie.</p>
<p><strong>Das Set besteht aus folgenden Ersatzteilen :</strong></p>
<ul>
<li>10 x O-Ring f&uuml;r Druckschlauch</li>
<li>2 x O-Ring f&uuml;r Dampfrohr</li>
<li>1 x O-Ring f&uuml;r Pumpenanschlusswinkel ( Membranregler )</li>
<li>1 x O-Ring f&uuml;r den Wassertank</li>
<li>1 x Innenverteilermanschette ( sitzt unter dem Wassertank )</li>
<li>7 x O-Ring f&uuml;r Druckschlauch T-Block (Dampf) Hitzebest&auml;ndig</li>
<li>2 x O-Ring f&uuml;r Br&uuml;heinheit</li>
<li>1 x OKS-1110 Spezialfett 10g</li>
<li>4 x Halteklammer f&uuml;r Druckschlauch</li>
</ul>

Dieser Code kann in einer Reihe stehen, ich kann diesen dann so in die Warenwirtschaft Importieren.

Gruß

Wolfgang
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: Artikel Exportieren

Beitrag von r23 »

Hallo,

die Datei im Admin-bereich habe ich ausgetauscht.

In der CVS Datei steht das genannte Produkte so:

Code: Alles auswählen

10005-S;<p>Jura Ersatzteile Reparaturset für die Wartung der <br />
Jura S / C / E / F / J / X / Z / ENA - Serie.</p>
<p><strong>Das Set besteht aus folgenden Ersatzteilen :</strong></p>
<ul>
    <li>10 x O-Ring für Druckschlauch</li>
    <li>2 x O-Ring für Dampfrohr</li>
    <li>1 x O-Ring für Pumpenanschlusswinkel ( Membranregler )</li>
    <li>1 x O-Ring für den Wassertank</li>
    <li>1 x Innenverteilermanschette ( sitzt unter dem Wassertank )</li>
    <li>7 x O-Ring für Druckschlauch T-Block (Dampf) Hitzebeständig</li>
    <li>2 x O-Ring für Brüheinheit</li>
    <li>1 x OKS-1110 Spezialfett 10g</li>
    <li>4 x Halteklammer für Druckschlauch</li>
</ul>
Funktioniert der Import in die Wawi nun? Ich hoffe es :)

Beste Grüße

Ralf
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Re: Artikel Exportieren

Beitrag von wolfschw »

Hallo Ralf,

leider nein, in der ersten Spalte darf nur die Artikel-Nummer stehen und in der 2 Spalte nur die Artikel-Beschreibung.
Vom Text her ist es so schon ok.
Wenn ich von Hand alles in die richtige Spalte (Excel) speichere lässt sich die Datei Importieren.
Habe ich mit zwei Artikel ausprobiert.

Gruß

Wolfgang
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: Artikel Exportieren

Beitrag von r23 »

Hallo,

o.k.

in der Produktbeschreibung gibt es Texte mit Semikommas (;) der Trenner ist nun |
Es gibt auch Produktbeschreibungen mit | hier wurde | wurde durch - ersetzt.
Texte sind mehrzeig ind werden nun mit ' eingefasst.

In Open Office sind meine Einstellungen:

"Werte in Hochkomma als Text"

Bild

in dem Verzichnis ~/shop/psm/

leigt nun eine shop.ods. Die Datei habe ich mit Open Office gespeichert.

mmh...

Ralf
Antworten