Neu Anführungszeichen werden nicht richtig an den Shop übergeben

  • Ersteller des Themas Ersteller des Themas Conny
  • Erstellungsdatum Erstellungsdatum

Conny

Sehr aktives Mitglied
7. September 2009
571
61
Hi,

wenn ich in der Wawi in der Artikelbeschreibung mit Anführungszeichen arbeite, werden diese nicht richtig an den Shop übergeben.


So sieht es in der WAWI aus 1.3.21
b2.png

und so im Shop 4.06.12

b1.png

Kann man evtl. beim Import (php) diese Zeichen gegen normale Anführungszeichen austauschen ?
 

Nicson

Sehr aktives Mitglied
29. August 2012
516
94
Bayern
Kopierst du den Text aus einer Word Datei ?
Falls JA, versuch doch Mal die Anführungszeichen "manuell" in den JTL Editor einzutippen.
 

Conny

Sehr aktives Mitglied
7. September 2009
571
61
Sind ca. 8000 Artikel welche ich überprüfen müsste. Das macht keinen Sinn. Ich denke das kommt davon, dass die Mitarbeiter welche die Artikelpflege machen,
die Texte teilweise vom Hersteller per copy&paste kopieren. Man müsste ja eigentlich nur beim Import in der entsprechenden PHP Datei die Zeichen konvertieren,
wenn die Artikel hochgeladen werden.
Ich könnte es mit der Armeise machen, aber wenn neue Texte übernommen werden habe ich das selbe Problem wieder.
 

Conny

Sehr aktives Mitglied
7. September 2009
571
61
Konnte das Problem jetzt erst mal lösen.
Vielleicht hat jemand noch eine bessere Idee.

In der Datei: dbeS/xml_tools.php
folgendes einfügen:

Code:
         // Ersetzen von bestimmten Zeichen
        $map = array(
         '–' => '-',
         '„' => '"',
         '“' => '"',
         '”' => '"',
         '’' => '´',
         '‹' => '"',
         '›' => '"',
        );

Und zwar in Zeile 129 (Version 4.06.12) zwischen

PHP:
 public function parse(&$data)
    {
        $this->document = [];
        $this->stack    = [];
        $this->parent   = &$this->document;

und

PHP:
        $data = strtr($data,$map);

        return xml_parse($this->parser, $data, true) ? $this->document : null;
    }

so dass es komplett so aussieht:
PHP:
 public function parse(&$data)
    {
        $this->document = [];
        $this->stack    = [];
        $this->parent   = &$this->document;
        
        // Ersetzen von bestimmten Zeichen 
        $map = array(
         '–' => '-',
         '„' => '"',
         '“' => '"',
         '”' => '"',
         '’' => '´',
         '‹' => '"',
         '›' => '"',
        );
        $data = strtr($data,$map);

        return xml_parse($this->parser, $data, true) ? $this->document : null;
    }
 
  • Gefällt mir
Reaktionen: 301Moved

Ähnliche Themen