v4.8.x CSV Eigenschaften Import, extrem Langsam

Thema wurde von Anonymous, 19. September 2025 erstellt.

  1. Anonymous

    Anonymous Mitglied

    Problem Nr.1
    Ich habe gerade versucht ein Export durch zuführen. Leider ohne Erfolg. Ich kann jetzt zwar die Artikelvariante als Spalte auswählen, aber in der Spalte ist es nicht möglich eine Eigenschaft (Grösse, Farbe) auszuwählen. Es lädt sich zu tote und bricht mit einer allgemeinen Fehlermeldung ab.

    Problem Nr.2
    habe jetzt ein CSV Import versucht 3 Artikel mit 52 Eigenschaften. Dauer ca. 30 Minuten. Eine grössere Datei führt zum Abbruch.

    Mit freundlichen Grüssen
    Peter Süssbier
     
  2. Developer

    Developer Erfahrener Benutzer

    Was für Meldungen?
    Bei welchem Hoster bist Du?

    Hängt sicherlich von Problem 1 ab.
     
  3. Anonymous

    Anonymous Mitglied

    Danke für die Hilfe.

    der Shop läuft bei cyon.ch.

    Nach einiger Zeit geht ein fenster auf mit " Verbindungsfehler - Keine Verbindung zum Server möglich."
     
  4. Developer

    Developer Erfahrener Benutzer

    Was steht in den Logfiles vom Shop?

    Was für ein Paket hast Du dort?
     
  5. Anonymous

    Anonymous Mitglied

    Webhosting Double


    Wenn ich die Eigenschaften manuell anlege, gibt es keine Probleme.
     
  6. Developer

    Developer Erfahrener Benutzer

    Das sind 2 verschiedene Prozesse, daher geht die manuelle Anlage.

    Nochmals: Was steht in den Logfiles?
     
  7. Anonymous

    Anonymous Mitglied

    Hallo

    Habe geade noch mal ein Import versucht.

    Zieht sich bei allen Artikel durch.

    Auf dem Bild sieht man das Ergebiss, des abgstürzten Import.
    [​IMG]

    Fehlerprotokoll (Gleiches Fehlerprotokol für alle Importartikel, nur die Nummern (arry Key) ändernt sich

    2025-09-19 15:47:20 WARNING: Undefined array key 2

    context:
    session ID:

    session-68cd5ea5d75ee1.88712245
    code:
    2
    file:
    /home/gextex/public_html/juratex-shop.ch/system/classes/csv/CSVSource.php
    line:
    1303
    context:
    code snippet:
    │ }
    │
    ├─ if (!is_array($t_properties_array[$t_row['properties_id']]['properties_values'][$t_row['properties_values_id']][$t_row['language_id']])) {
    │ $t_properties_array[$t_row['properties_id']]['properties_values'][$t_row['properties_values_id']][$t_row['language_id']] = [];
    │ }
    trace:
    0:
    file:

    /home/gextex/public_html/juratex-shop.ch/system/classes/csv/CSVImportFunctionLibrary.inc.php(658) : eval()'d code
    line:
    1
    function:
    property
    class:
    CSVImportFunctionLibrary
    snippet:
    ├─
    1:
    file:

    /home/gextex/public_html/juratex-shop.ch/system/classes/csv/CSVImportFunctionLibrary.inc.php
    line:
    658
    function:
    eval
    snippet:
    │ foreach ($t_functions as $t_function)
    │ {
    ├─ eval('$this->' . trim($t_function) . '($t_params);');
    │ }
    │ }
    2:
    file:

    /home/gextex/public_html/juratex-shop.ch/system/classes/csv/CSVSource.php
    line:
    2170
    function:
    set_field_content
    class:
    CSVImportFunctionLibrary
    snippet:
    │ $this->v_img_nrs[] = $t_img_nr;
    │ }
    ├─ $this->v_coo_csv_import_function_lib->set_field_content($t_field_name, $t_field_value);
    │ }
    │ $this->v_img_nrs = array_unique($this->v_img_nrs);
    3:
    file:

    /home/gextex/public_html/juratex-shop.ch/system/classes/csv/CSVControl.inc.php
    line:
    709
    function:
    import_data_set
    class:
    CSVSource
    snippet:
    │ $t_pointer_position)) {
    │ $t_line_data_array = $this->v_coo_csv_source->explode($t_line, $p_separator, $p_quote);
    ├─ $t_import_data = $this->v_coo_csv_source->import_data_set($t_line_data_array);
    │
    │ if ($t_import_data !== false && $t_import_data['products']['products_id'] != $t_products_id) {
    4:
    file:

    /home/gextex/public_html/juratex-shop.ch/system/classes/csv/CSVAjaxHandler.inc.php
    line:
    348
    function:
    import
    class:
    CSVControl
    snippet:
    │ $t_quote = str_replace("\'", "'", $t_quote);
    │ $t_progress = $this->v_data_array['POST']['progress'];
    ├─ $t_output_array = $coo_csv_control->import($t_filename, $t_separator, $t_quote, $t_deletions, $t_progress);
    │ }
    │ break;
    5:
    file:

    /home/gextex/public_html/juratex-shop.ch/system/core/RequestRouter.inc.php
    line:
    98
    function:
    proceed
    class:
    CSVAjaxHandler
    snippet:
    │ # proceed module and write response to buffer
    │ ob_start();
    ├─ $success = $coo_module->proceed();
    │ $content = ob_get_clean();
    │
    6:
    file:

    /home/gextex/public_html/juratex-shop.ch/request_port.php
    line:
    66
    function:
    proceed
    class:
    RequestRouter
    snippet:
    │ $coo_request_router->set_data('POST', $_POST);
    │
    ├─ $t_proceed_status = $coo_request_router->proceed($f_module_name);
    │ if($t_proceed_status == true) {
    │ $t_output_content = $coo_request_router->get_response();
    extra:
    request:
    method:

    POST
    uri:
    /request_port.php?module=CSV&action=import
    software:
    LiteSpeed
    address:
    2a01:ab20:0:4::96
    userAgent:
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0
    time:
    66486
    remoteAddress:
    156c8a0a663c154f05f7d577242fd2bb
    post:
    select_import_file:

    schuhe-01-kinder-gambio-versuch.csv
    import_field_separator:
    |
    import_field_quotes:
    '
    progress:
    94
    query:
    module:

    CSV
    action:
    import



    2025-09-19 15:47:20 WARNING: Undefined array key 3339

    context:
    session ID:

    session-68cd5ea5d75ee1.88712245
    code:
    2
    file:
    /home/gextex/public_html/juratex-shop.ch/system/classes/csv/CSVSource.php
    line:
    1299
    context:
    code snippet:
    │ }
    │
    ├─ if (!is_array($t_properties_array[$t_row['properties_id']]['properties_values'][$t_row['properties_values_id']])) {
    │ $t_properties_array[$t_row['properties_id']]['properties_values'][$t_row['properties_values_id']] = [];
    │ }
    trace:
    0:
    file:

    /home/gextex/public_html/juratex-shop.ch/system/classes/csv/CSVImportFunctionLibrary.inc.php(658) : eval()'d code
    line:
    1
    function:
    property
    class:
    CSVImportFunctionLibrary
    snippet:
    ├─
    1:
    file:

    /home/gextex/public_html/juratex-shop.ch/system/classes/csv/CSVImportFunctionLibrary.inc.php
    line:
    658
    function:
    eval
    snippet:
    │ foreach ($t_functions as $t_function)
    │ {
    ├─ eval('$this->' . trim($t_function) . '($t_params);');
    │ }
    │ }
    2:
    file:

    /home/gextex/public_html/juratex-shop.ch/system/classes/csv/CSVSource.php
    line:
    2170
    function:
    set_field_content
    class:
    CSVImportFunctionLibrary
    snippet:
    │ $this->v_img_nrs[] = $t_img_nr;
    │ }
    ├─ $this->v_coo_csv_import_function_lib->set_field_content($t_field_name, $t_field_value);
    │ }
    │ $this->v_img_nrs = array_unique($this->v_img_nrs);
    3:
    file:

    /home/gextex/public_html/juratex-shop.ch/system/classes/csv/CSVControl.inc.php
    line:
    709
    function:
    import_data_set
    class:
    CSVSource
    snippet:
    │ $t_pointer_position)) {
    │ $t_line_data_array = $this->v_coo_csv_source->explode($t_line, $p_separator, $p_quote);
    ├─ $t_import_data = $this->v_coo_csv_source->import_data_set($t_line_data_array);
    │
    │ if ($t_import_data !== false && $t_import_data['products']['products_id'] != $t_products_id) {
    4:
    file:

    /home/gextex/public_html/juratex-shop.ch/system/classes/csv/CSVAjaxHandler.inc.php
    line:
    348
    function:
    import
    class:
    CSVControl
    snippet:
    │ $t_quote = str_replace("\'", "'", $t_quote);
    │ $t_progress = $this->v_data_array['POST']['progress'];
    ├─ $t_output_array = $coo_csv_control->import($t_filename, $t_separator, $t_quote, $t_deletions, $t_progress);
    │ }
    │ break;
    5:
    file:

    /home/gextex/public_html/juratex-shop.ch/system/core/RequestRouter.inc.php
    line:
    98
    function:
    proceed
    class:
    CSVAjaxHandler
    snippet:
    │ # proceed module and write response to buffer
    │ ob_start();
    ├─ $success = $coo_module->proceed();
    │ $content = ob_get_clean();
    │
    6:
    file:

    /home/gextex/public_html/juratex-shop.ch/request_port.php
    line:
    66
    function:
    proceed
    class:
    RequestRouter
    snippet:
    │ $coo_request_router->set_data('POST', $_POST);
    │
    ├─ $t_proceed_status = $coo_request_router->proceed($f_module_name);
    │ if($t_proceed_status == true) {
    │ $t_output_content = $coo_request_router->get_response();
    extra:
    request:
    method:

    POST
    uri:
    /request_port.php?module=CSV&action=import
    software:
    LiteSpeed
    address:
    2a01:ab20:0:4::96
    userAgent:
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0
    time:
    66472
    remoteAddress:
    156c8a0a663c154f05f7d577242fd2bb
     
  8. Developer

    Developer Erfahrener Benutzer

    1. Sind beim Import nur Warnmeldungen im Logfile zu sehen?
    2. Poste bitte mal die Datei, mit deinen 3 Beispielartikel.
     
  9. Kai Schoelzke

    Kai Schoelzke Beta-Held

    Vielleicht wäre es ja mal hilfreich die Shopversion zu verraten und mal eine Beispieldatei zu posten, mit der du das versuchst zu importieren.
     
  10. Anonymous

    Anonymous Mitglied

  11. Anonymous

    Anonymous Mitglied

    Gambio Version: v4.8.0.3
     
  12. Kai Schoelzke

    Kai Schoelzke Beta-Held

  13. Developer

    Developer Erfahrener Benutzer

    Du arbeitest in der zweiten Spalte mit p_model. Eigentlich ist die erste Spalte XTCSOL und die zweite p_id. Das ist soweit ich weiß zwingend, damit die Zuordnung passt. Eine Artikelnummer kann ja wiederum mehrfach vorkommen, aber dann würde der Import bei der Zuordnung nicht sauber funktioneren.

    Die p_id (Produkt ID) ist einzigartig und kommt nur 1x vor.
     
    Zuletzt bearbeitet: 22. September 2025
  14. Anonymous

    Anonymous Mitglied

    Danke für die Antwort:
    Artikelnummer (p_model) ist einmalig. Hat bis vor einiger zeit alles ohne Probleme so funktioniert. Die Importdatein, erstelle ich aus Listen von den Herstellern.

    Ich lege immer die Mutterartikel an und danch die Kinderartikel.
     
  15. Developer

    Developer Erfahrener Benutzer

    Die Einmaligkeit im Shop ist die p_id. Vielleicht ist die Artikelnummer bei dir einmalig, aber aus der Sicht des Shops die p_id.

    Wie dem auch sei. Hast Du es mal mit der p_id versucht?

    Wann und in welcher Version?
     
  16. Anonymous

    Anonymous Mitglied

    Gleiche Version, vor ca. 4 Monaten, seit dem habe ich keine CSV Importe gemacht.
     
  17. Developer

    Developer Erfahrener Benutzer

    Der korrekte Satzaufbau in der Datei muss zum Einen gewährleistet sein, natürlich samt richtiger Daten, und zum Zweiten muss dein Server die richtigen Einstellungen und Ressourcen haben, damit das alles funktioniert. Des Weiteren darf kein Datenmüll in der Datenbank vorhanden sein, was es zusätzlich ausbremst. Viele Optionen hat man da nicht an dieser Stelle.

    Du schreibst, dass das vor 4 Monaten funktioniert hat:

    1. Kann das sein, dass Du die aufbereitete Datei 2x Mal importieren musstest, um ein Ergebnis zu haben?
    2. Wenn wir davon ausgehen, dass das so funktioniert hat, dann kann es ja nur noch am Hoster oder an deiner Datenbank liegen. Ein externes Modul ist ja seit dem nicht dazugekommen, oder?