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: Wo kommt die Variable $line_fetch['data'] her ?

    Dwza

    • Frisch an Board
    • Beiträge: 82
    Wo kommt die Variable $line_fetch['data'] her ?
    am: 13. August 2014, 18:23:36
    Also mir ist beim umprogrammieren der Importklasse eine bzw. zwei Zeilen Code aufgefallen die, wie ich feststellen musste zu Fehlern... (Vllt sollte ich sagen das es eher ne Warnung anstatt eines Fehlers ist)

    Es geht hier um folgende Zeilen: (Ziemlich weit unten, mit einem Kommentar markiert)

    Code: PHP  [Auswählen]
    if ($line_data['p_model'] != '') {
        if ($line_data['p_cat.0'] != '' || $this->FileSheme['p_cat.0'] != 'Y') {
            if ($this->FileSheme['p_cat.0'] != 'Y') {
                if ($this->checkModel($line_data['p_model'])) {
                    $this->insertProduct($line_data, 'update');
                } else {
                    $this->insertProduct($line_data,'insert');
                }
            } else {
                if ($this->checkModel($line_data['p_model'])) {
                    $this->insertProduct($line_data, 'update',true);
                } else {
                    $this->insertProduct($line_data,'insert',true);
                }
            }
        } else {
            /** DAS HIER IST DIE ERSTE ZEILE **/
            $this->errorLog[] = '<b>ERROR:</b> no Categorie, line: '.$i.' dataset: '.$line_fetch['data'];
        }
    } else {
        /** UND DAS HIER IST DIE ZWEITE ZEILE **/
        $this->errorLog[] = '<b>ERROR:</b> no Modelnumber, line: '.$i.' dataset: '.$line_fetch['data'];
    }
     

    Die Variablen $i und $line_fetch['data'] gibt es garnicht.
    Letztendlich denke ich sie sollen dafür sorgen, das wenn man Daten importiert und Informationen fehlen, angezeigt wird an welcher Stelle in der Datei die Daten fehlen.

    Gibt es dafür schon einen Fix?
    An sich kann ich es auch selbst fixen aber vllt war ja schon jemand schneller.
    Ggf. brauch auch jemand den Fix dann kann ich ihn ja Posten wenn keiner schneller ist :D

    Linkback: https://www.modified-shop.org/forum/index.php?topic=30848.0

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Wo kommt die Variable $line_fetch['data'] her ?
    Antwort #1 am: 13. August 2014, 19:54:25
    Die Import-Klasse ist von mir vor einiger Zeit bereits für die kommende 2.0 gefixt worden.
    Unter anderem wurden auch die PHP-Funktionen gegen modified-Funktionen ausgetauscht
    z.B.,
    addslashes() gegen xtc_db_input(),
    mysql_real_escape_string() gegen xtc_db_input(),
    stripslashes() gegen xtc_db_prepare_input() und
    mysql_insert_id() gegen xtc_db_insert_id().

    In diesem Atemzug habe ich auch die von dir zitierte Code-Stelle so geändert:
    Code: PHP  [Auswählen]
    if ($line_data['p_model'] != '') {
                    if ($line_data['p_cat.0'] != '' || $this->FileSheme['p_cat.0'] != 'Y') {
                        if ($this->FileSheme['p_cat.0'] != 'Y') {
                            if ($this->checkModel($line_data['p_model'])) {
                                $this->insertProduct($line_data, 'update');
                            } else {
                                $this->insertProduct($line_data,'insert');
                            }
                        } else {
                            if ($this->checkModel($line_data['p_model'])) {
                                $this->insertProduct($line_data, 'update',true);
                            } else {
                                $this->insertProduct($line_data,'insert',true);
                            }
                        }
                    } else {
                        $this->errorLog[] = '<b>ERROR:</b> no Categorie, line: '.$row.' dataset: Categorie, field: p_cat.0';
                    }
                } else {
                    $this->errorLog[] = '<b>ERROR:</b> no Modelnumber, line: '.$row.' dataset: model no., field: p_model';
                }

    Gruß,
    noRiddle

    Dwza

    • Frisch an Board
    • Beiträge: 82
    Re: Wo kommt die Variable $line_fetch['data'] her ?
    Antwort #2 am: 13. August 2014, 22:50:35
    Ah ok. Gut das Update wird mir so erst mal nichts bringen. Für den normalen Import schon.
    ggf. Kann ich mir ja dann was abgucken um es in meinem Import zu korrigieren.
    Hab ja in der Import.php ne neue Klasse hinzugefügt.
    Matrix Import
    Und da sind einiges an Änderungen eingeflossen. zB. ein JSON-String der {'farbe':{'gr':'menge'}} beinhaltet.
    Zudem habe ich auch das automatische hinzufügen von Attributen eingebunden.
    Da beim Import immer alle Größen/Farben etc. vorher schon angelegt sein mussten. Jetzt prüft das System beim Import ob es dieses Attribut schon gibt, wenn nicht dann wird es angelegt. Und da ich ja eine Struktur im JSON-Array habe kann ich auch sagen was es für ein Attribut ist. Was fehlt ist eine nachträgliche Sortierung da im Artikelfenster die Größen unsortiert angezeigt werden. Weis halt NOCH nicht genau woran das liegt. :)

    Ich denke mal $row kommt von der while ?
    Auf jeden Fall weis ich jetzt endlich was Dataset ist :D
    Hatte bei mir jetzt einfach den Arraypart impodet so das ich einfach die ganze Zeile als String sehe :)
    Werbung / Banner buchen
    0 Antworten
    1762 Aufrufe
    07. Mai 2015, 19:00:00 von Nils
    5 Antworten
    2931 Aufrufe
    20. Juni 2017, 17:34:59 von Tomcraft
    7 Antworten
    1965 Aufrufe
    15. Juli 2019, 17:09:46 von ttsarche
               
    anything