Jump to content

MarcoSch

Members
  • Posts

    121
  • Joined

  • Last visited

Posts posted by MarcoSch

  1. I have adapted the script for automatic stock update to delete multiple combinations that no longer availible.

    It works for me on my 1.6.1.17 productiv shop after i testet the script on a cloned shop. 

    The original script can be found here

    https://www.prestashop.com/forums/topic/476997-solved-automatic-stock-update-csv-solution/

     

    What i have done is this:

    <?php
    error_reporting(E_ALL); 
    
    // PRESTASHOP SETTINGS FILE
    require_once ('configs.php');
     
    // REMOTE CSV FILE (CUSTOMIZE YOURCSVFILEPATH, CAN BE AN URL OR A LOCAL PATH)
    $remote_csv_file = 'deleted_products.csv'; //MY PATH; CHANGE TO YOUR NEED, SAME FOR THE FILE NAME
     
    // DB CONNECTION (CUSTOMIZE YOURDBHOSTNAME AND YOURDBPORT)
    $db = new PDO("mysql:host=localhost;port=3306;dbname="._DB_NAME_."", _DB_USER_, _DB_PASSWD_);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    set_time_limit(600);
     
     
    // MAIN CYCLE
    $row_num = 0;
    if (($handle = fopen($remote_csv_file, "r")) !== false) {
      while (($data = fgetcsv($handle, 60000, ";")) !== false) {
        $row_num++;
        if ($row_num == 1) {
          // SKIP FIRST LINE (HEADER)
          continue;
        }
        if ($data[0] == '') {
          // SKIP EMPTY VALUES
          continue;
    	}
        
    	$reference = trim($data[0]);
    
     
        try {
          $res4 = $db->prepare("DELETE FROM "._DB_PREFIX_."product_attribute WHERE reference = :reference");
          $res4->execute(array(':reference'=>$reference));
     
        
        } catch (PDOException $e) {
          echo 'Sql Error: '. $e->getMessage() .'<br /><br />';
        }
      }
      fclose($handle);
    }
    ?>

    I also tried to delete single products, what actually should work the same way.

    But in my case unfortunately some Main Products have the same reference as a combination of them.

    By example 

    Main Product is 12345-S

    And combinations are

    12345-S = Small

    12345-M = Medium

    12345-L = Large

    12345-XL = XL

     

    So if i use the above script (adapted to ps_product) for 'single products' it will also delete the main products which has combinations and the whole product include the combination is gone.

    I didn't figure out yet how i can tell the script that it only delete products that has no combination since i found no entry in the table ps_product that tells the script that the product what i want to delte has no combinations.

    Maybe some one has a clue to handle that?

  2. For me it works too in 1.6x and 1.7x.

     

    I have adapted the above script to delete combinations that no longer availible. It works for me on my 1.6.1.17 productiv shop after i testet the script on a cloned shop. So i will post the code, maybe some one can use them.

    But use them carefully and on your own risk because i'm not responsible for any damage. If you not sure, test it with a temporary clone of your DB.

     

    config.php is the settings.inc.php. Since i have moved the script in a separate folder i have also copied the settings there to run the script. So you can also use your setting.inc.php form prestashop

    The script checks only the reference of the deleted combinations. In my case it's in my CSV data[0]

    So if your references isn't in the first columne you have to change ist (it begins always by data[0], the second is data[1] .... and so on)

    After running the script i used prestashop cleaner (free module at Prestashop Addons)to check integrity and clean the database.

     

    <?php
    error_reporting(E_ALL); 
    
    // PRESTASHOP SETTINGS FILE
    require_once ('configs.php');
     
    // REMOTE CSV FILE (CUSTOMIZE YOURCSVFILEPATH, CAN BE AN URL OR A LOCAL PATH)
    $remote_csv_file = 'deleted_products.csv'; //MY PATH; CHANGE TO YOUR NEED, SAME FOR THE FILE NAME
     
    // DB CONNECTION (CUSTOMIZE YOURDBHOSTNAME AND YOURDBPORT)
    $db = new PDO("mysql:host=localhost;port=3306;dbname="._DB_NAME_."", _DB_USER_, _DB_PASSWD_);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    set_time_limit(600);
     
     
    // MAIN CYCLE
    $row_num = 0;
    if (($handle = fopen($remote_csv_file, "r")) !== false) {
      while (($data = fgetcsv($handle, 60000, ";")) !== false) {
        $row_num++;
        if ($row_num == 1) {
          // SKIP FIRST LINE (HEADER)
          continue;
        }
        if ($data[0] == '') {
          // SKIP EMPTY VALUES
          continue;
    	}
        
    	$reference = trim($data[0]);
    
     
        try {
          $res4 = $db->prepare("DELETE FROM "._DB_PREFIX_."product_attribute WHERE reference = :reference");
          $res4->execute(array(':reference'=>$reference));
     
        
        } catch (PDOException $e) {
          echo 'Sql Error: '. $e->getMessage() .'<br /><br />';
        }
      }
      fclose($handle);
    }
    ?>

     

    I also tried to delete single products, what should work the same way.

    But in my case unfortunately some Main Products have the same reference as a combination of them.

    By example 

    Main Product is 12345-S

    And combinations are

    12345-S = Small

    12345-M = Medium

    12345-L = Large

    12345-XL = XL

    So if i use the above script (adapted to ps_product) for 'single products' it will also delete the main product which has combination and the whole product is gone.

    I didn't figure out yet how i can tell the script that it only delete products that has no combination.

    Maybe some one has a clue to handle that. :)

     

     

     

  3. 22 hours ago, Lele` said:

    hi,

    @MarcoSch

     

    gibt es hier bereits eine schönere Lösung als es im CSS anzupassen?

     

    Danke.

     

    Grüße

     

    Ich habe 1.7 erstmal auf Eis gelegt und mich meiner produktiven 1.6 intensiv gewidmet. Aber ich denke mal das es nur bzw. am besten über CSS geht. Du musst allerdings damit rechnen das, falls du mal ein anderes Template, als das Standard verwendest dann die Einstellungen weg sind.

    @rictools:

    Ich nehem mal an es geht um die Kategorietiefe ;)

    Meist gibt es für solche Sachen keine Module. Und wenn doch sind die meist sehr teuer. Und nicht jeder will oder kann sich das, vor allem wenn er gerade startet, leisten.

    Und bei allem Verständnis und deiner, vielleicht sogar gut gemeinten Versuche helfen zu wollen.... bislang kam kein konstruktiver Beitrag sondern nur gemecker von dir. Sowas was verdirbt den Spaß und drückt die Motivation auf Null.

    Wenn du keine Optionen oder Lösungsansätze, wie zum Beispiel Shad86 es tut beitragen kannst oder willst dann sag doch bitte besser gar nichts. Denn Gemaule hilft keinem. 

     

  4. How did you de-activate smooth scroll?

    I use a free theme from templatemonster but they are not really willing to help because it's a free theme. But i think such a issue must also be fixed on free offers, especially if it is for are shop system.

     

    So i searched everywhere for smooth scroll but couldn't find anything about it. 

     

    May be you can provide the link to the topic on FB?

  5. Stimmt schon. 

    Nachdem ich auf 1.6.1.15 umgestiegen bin und mir mein Template eingespielt hatte ist mir aufgefallen das da wohl die selben Leute übersetzt haben wie in 1.7 :D

    Da wurden aus den Features/Eigenschaften nun auch varianten und umgedreht aus den Varianten halt Eigenschaften.

    Ansich nicht tragisch, aber für Neueinsteiger sollte das schon eindeutig sein, zumal dann in der Doc was ganz anderes steht und die Leute sich dumm und dämlich suchen nach den entsprechenden Modulen/Settings.

    Ich habe ja schon ewig nach der besagten 'Datenauswertung' gesucht die sich dann ganz simpel als 'Statistik' entpuppte :D

     

    Hab das übrigens mal kurz angehabt. Aber wie du schon sagtest. So wirklich informativ oder gar wichtig ist das nicht. 

  6. Immer wieder lese ich in der Statistik 'Besucher Online' den Hinweis

     

     

    Um die aktuell angesehenen Seiten zu sehen, müssen Sie erst die Option "Seitenaufrufe für jeden Kunden speichern" im Modul "Datenauswertung" aktivieren.

     

    Ich benutze schon eine ganze Weile die 1.6.x Versionen und aktuell die 1.6.1.15 frisch installiert. Zuvor hatte mich das nicht wirklich gestört, aber irgendwie interessiert mich doch wo sich das besagte Modul eigentlich befinden soll. Ich habe alles abgegrast, aber nirgends einen Hinweis darauf gefunden. Ich gehe mal davon aus das die Übersetzer da wieder eigene Worte für das eigentliche Modul gefunden haben aber wenn mir jemand sagen kann wo man die entsprechenden einstellungen vornehmen kann wäre ich dankbar. :)

  7. Ich weis jetzt wirklich nicht wo dein Problem liegt. Der Thread ist auch noch nicht als gelöst markiert. Denn was tessa da getan hat ist nicht die Lösung, sondern ein 'bypass'

    Damit ist das eigentlich Problem, das ja offenbar nicht nur ich habe (sonst hätte tessa den Thread ja nicht erstellt) NICHT gelöst.

    In allen Zeilen stehen die selben variablen. Es unterscheiden sich nur die ID, die Reference und die Größenwerte wie oben schon gesagt. 

    hast du denn schon einmal einen Import via dem BO von Prestashop durchgeführt? Dann weist du doch was du beim importieren angezeigt bekommst. Wie versuchst du eigentlich die Probleme nachzuvollziehen? hast du eine 1.7 Installation an der du einzelne Schritte testest wie es zum beispiel Shad86 tut?

    Blanke Theorien helfen doch nicht wirklich weiter. 

    Was willst du den probieren wen ich dir eine Link zu meinen Front Office gebe? Wenn du eine 1.7 Testinstallation hast lasse ich dir gern die entsprechend CSV zukommen. Dann kannst du darauf probieren. Aber ich kann noch noch einfach Zugänge weiter geben zu Applikationen die noch dazu auf eine Server laufen auf dem ebenfalls eine produktive Installation läuft. ;)

     

    Und ja, ich habe sogar versucht NUR die ersten 5 Zeilen einzuspielen, aber auch dann bekomme ich den Fehler. Nur nicht mit Zeile 105/208 sondern mit 3/5.

    Und die Fehlermeldung  'Kein Eintrag in Attribute->Name' interpretiere ich so das Prestashop einfach nicht den 'NAME' Mass oder Größe in der Datenbank findet und somit nicht mit dem Namen 'Mass' oder 'Größe' anfangen kann.

     

    Zu deinem letzten Satz sage ich jetzt mal nichts... ;)

    Aber wenn du willst schicke ich dir die beiden Dateien zu. Die Hauptartikel und die Varianten. Du musst halt nur vorher die Attribute anlegen bei dir.

  8. Ich bin nicht sicher ob es wirklich am Manager liegt. Denn das Problem tritt ja sowohl beim Import via den Prestashop Store Manager als auch beim Import über das BO des PS selbst auf.

    Ich vermute eher das es bei der SQL Abfrage irgendwo ein Problem gibt. Eine fehlerhafte PHP-Function kann man wohl auch ausschließen da der Manager ja nicht it dieser arbeitet.

    Witzig ist ja auch das manuell angelegte Artikel funktionieren. Also da kann ich die Größen auswählen, generieren und dann im Shop auch auswählen. 

     

    Mit 100 Artikel wäre mir das auch erstmal relativ egal, aber bei mir sind es etwa 7000 plus halt die ganzen Kombinationen. :D

    Und die müssen einfach importiert werden wenn man nicht Jahre mit dem Anlegen von Artikel verbringen will. ;)

     

    Also ich habe festgestellt das er nicht vorhandene Kategorien anlegt beim Artikelimport. Ist ja schon in 1.6 so. Die liegen dann zunächst im Hauptzweig  bis man sie entsprechend bearbeitet. Oder eben löscht :D

    Auch Werte für Eigenschaften (Produktmerkmale) fügt er hinzu wenn die Eigenschaft schon existiert. Aber offenbar eben nicht bei Attribute.

  9. @rictools:

    Links im ersten Bild befindet sich ja nur noch die Spalte mit der Produkt-ID und daneben das Menü des BO. Und rechts in diesem Abschnitt halt nur die Spalte für die Reference.  

    Ich wüsste nicht in wie fern das für den Fehler nun relevant wäre. Darum habe ich nur das aufgenommen was auch den Fehler zeigt. Da ich lediglich eine Bildschirm mit Auflösung 1680x1050 habe und keinen 102 cm TV wird das nun mal kein 4K Bild. ;)

    Allerdings fällt mir gerade auf das ich aus versehen 2 mal das selbe Bild gepostet habe. Hab das mal korrigiert. Dafür entschuldige ich mich. :)

    Und hinter dem Textschild verbirgt sich nichts wichtiges, wie man ja erkennen kann, sondern lediglich ein weiteres "S-L:0" ;)

    Und bei der Importfunktion von PS werden immer nur die ersten 10 Zeilen angezeigt. Da kann man nicht gucken was weiter unten steht. 

     

    Und zum Unterschied der Button in 1.6x und 1.7x:

    In 1.6x kann für die Auswahl der Größe im FO entweder 'select' (das wäre dann für den Kunden ein Dropdown) oder aber radio (dann hätte mal halt eine Radiobutton) verwendet werden.

    In 1.7x ist der Radiobutton aber nicht mehr vorhanden, sondern wurde durch 'normale' Button ersetzt die in der Verwaltung der Attribute mit 'Optionsfelder' benannt sind. 

     

    In der Datei ist sind Fehler nahezu ausgeschlossen, den ich habe mal ALLE zu importierenden Größen in XL:0 umbenannt (also ohne irgendein Sonderzeichen) und erhalte den selben Fehler.

     

     

    @Shad86:

    Ich weis nicht ob das eine gute Idee ist Größe in Farbe zu ändern. Dann würde in der DB zweimal der Attribute Name 'Farbe' auftauchen und das bringt garantiert Probleme.

    Alternativ könnte ich aber noch mal ein neues Attribut anlegen. Obwohl ich ja das auch schon versucht habe. Hatte die Größen gelöscht und die nochmals als 'Mass' neu angelegt.

    Was mich ohnehin ein wenig stört ist das in 1.7 offenbar tatsächlich alle Werte bereits existieren müssen (oder irre ich mich da?) 

    in der 1.6 werden fehlende Werte aus der Importdatei ja einfach dem entsprechenden Attribut hinzugefügt. Sprich da muss lediglich das Attribut als solches existieren.

     

    Nochmal in Kurzform das 'Produktproblem' (ich schicke dazu nachher eine PM mit ausführlicheren Daten und Screenshots Weil das gehört ja hier nicht wirklich her):

     

    - im BO gehe auf Katalog->Artikel->Neuer Artikel

    - Nun die Artikelerstellung einfach wieder verlassen in dem man auf irgendeinen Menüpunkt (von mir aus 'Übersicht') anklickt. NICHT DEN MÜLLEIMER UNTEN LINKS KLICKEN!

    - Im Front Office befindet sich nun auf der Startseite ein Artikel, natürlich ohne Bild, Preis oder sonstigen Daten. Er lässt sich auch nicht anklicken.

    - Im BO ist dieser Artikel jedoch nicht zu finden, da er ja eigentlich auch nicht existiert, außer vermutlich irgendwo in der DB. Cache löschen geht so leider nicht.

     

    Hole ich nun die neuen Daten über den Shop Manager dann finde ich den Artikel auf der Startseite, kann ihn löschen und sende dann die Änderungen an die DB.

    Nun muss ich noch im BO unter Erweiterte Einstellungen->Leistung den Cache löschen und ERST DANN ist der Artikel wieder von der Startseite verschwunden.

     

    Ich gucke mal ob ich das als Bildschirmaufnahme aufzeichnen kann. Wird vielleicht das Beste sein. :)

    Infos dazu wie gesagt nachher per PM. 

  10. Wieso Schlüssellochformat? Da ist doch alles drauf was dazu gehört und groß genug ist es auch. ;)

    Und die Beschriftung ist dort wo nichts hinter steht.

     

    Nein, er hat 50% der Datei validiert, aber nichts eingetragen. Nicht eine Zeile.

    Der erste Screenshot kommt direkt aus dem Prestaimport. Da werden nur immer die ersten paar Zeilen der Datei angezeigt. Es sind insgesamt 208, steht ja auch da. ;)

    Und jede Zeile enthält das selbe Attribut (Mass:select:1) und die Values unterscheiden sich lediglich in der Konfektionsgröße (halt Small oder Large oder eben XL...)

     

    Mache ich den selben Import mal spaßeshalber mit dem Attribute 'Farbe' dann zickt der nicht. 

    Ich habe gesehen das ein RC 1.7.2 da ist, auch wenn ich in der Changelog nichts zum Problem finden konnte werde ich die morgen mal rauf hauen und sehen was passiert.

  11. Neine, da haben wir uns missverstanden. :)

    Ich habe erst Artikel importiert die keine Größen hatten, sondern nur verschiedene Farben. Das klappt auch.

    Jetzt waren Artikel dran die verschiedene Größen haben und da geht nichts. Die Sonderzeichen sind soweit OK. Einfache Klammern kann man verwenden. Geht in der manuellen Artikelerstellung auch. Das ist es also nicht. Ich habe sogar mal 'Größe' in 'Mass' geändert um zu sehen ob es vielleicht an dem 'ß' liegt. (man kann ja nie wissen...)

     

    Ich habe aber soeben was anderes "tolles" festgestellt.

    Und zwar habe ich die Hauptartikel per Import über das BO geladen. Kein Fehler kam und die Artikel sind da. Nun wollte ich die Varianten einspielen auf die selbe Weise.

    Und da kam das was auf dem Screenshot zu sehen ist.

     

    Bei der Gelegenheit mal gleich eine Frage. In 1.6 gibt es ja noch den Typ 'radio', aber die Button haben sich ja geändert und Radiobutton sind ja nicht mehr in den Attributen vorhanden, sondern wurden durch 'normale' Button ersetzt. Wie ist denn dafür die Typbezeichnung in der CSV?

     

     

    Hier die Screenshots von meinen Import:

     

    gdjgfsct.jpg

     

     

    Und wie gesagt existiert der Name sehr wohl.

     

     

    xbt4vqxf.jpg

  12. Also ich habe nun nochmals alle Größen neu angelegt und die werden mir nun auch beim Anlegen eines Artikel angezeigt.

    Bei einem Manuell erstellten Artikel mit Varianten funktioniert das. Größen auswählen und 'generieren' klicken und halt die Daten einfügen.

    Werden die Varianten aber importiert klappt das nicht. Und NUR bei den Größen habe ich das Problem. Farben, Modelle etc. machen diese Zicken nicht.

    In der Datenbank habe ich keine Unterschiede zwischen einen importierten und einen manuell angelegten Artikel feststellen können.

  13. Ich wollte gerade einen neuen Artikel mit Varianten manuell anlegen. Jetzt bemerke ich das mir gar nicht alle angelegten Größen angezeigt werden in der Bearbeitung. Medium fehlt zum Beispiel.

    Als Wert in den Varianten selbst (da wo man die Werte etc. bearbeiten kann) existiert der Wert aber. Sieht man ja auch auf den Screenshots oben. Wieso also wird mir das nicht angeboten bei der Artikelerstellung?

  14. Hm... OK. Hab damit in meinem laufenden 1.6x Shop keine Probleme, aber das wäre wohl auch noch eine Maßnahme.

     

    Was mir noch aufgefallen ist. 

    Wenn ich auf 'Neuer Artikel' gehe, mir es dann aber anders überlege und die Artikelbearbeitung verlasse ohne auf den Mülleimer unten links zu klicken dan legt der gleich einen Artikel auf die Startseite. Natürlich nicht anklickbar und ohne irgendwelche Daten.

    Ärgerlich wird das für Leute die nicht extern via Tools wie eben den Store Manager auf den Shop zugreifen können. Denn in der Artikelübersicht im BO wird das nicht angezeigt. Ich kann den nur im Store Manager sehen und auch nur von dort löschen. Danach muss ich auf jeden Fall immer den Cache leeren damit der von der Startseite wieder verschwindet.

     

    Vielleicht wäre das etwas für Shad86 seine Liste? 

  15. So, mir ist eine kleine Sache gerade mal so aufgefallen.

     

    Beim anlegen/bearbeiten eines Artikel finde ich 2 mal die Option 'Größe' in den Varianten.

    Unter 'Varianten & Eigenschaften' (dort sind übrigens immer noch die Titel der Reiter vertauscht ;) ) gibt es allerdings einmal 'Schuhgröße' und einmal 'Größe'. Beides wurde bereits mit Prestashop mitgeliefert. Und sowohl bei den Schuhgrößen als auch bei den Größen habe ich die Optionen Werte hinzugefügt die ich benötige und die auch in der Importdatei enthalten sind.

     

    Und genau da glaube ich liegt das Problem. Beim Import über den Store Manager kann ich ja jede Spalte in der CSV entsprechend zuordnen. Aber offenbar scheint Prestashop dann vermutlich immer 'Größe' in der mit der Schuhgröße zu verwechseln und in der gibt es ja kein beispielsweise XXL.

     

    Hier mal ein paar Bilder zum besseren Verständnis was ich überhaupt meine. 

     

    Das sind die Varianten mit den neu angelegten Werten für Größe und Schuhgröße. Man beachte das hier für beide Varianten 'Größe' steht:

    ehmkp7cm.jpg

     

     

    Das sind die Werte für 'Größe':

     

    obbgpsst.jpg

     

    Und das die für Schuhgröße:

     

    psdechsn.jpg

     

    EDIT:

     

    Ok, Daran lag es auch nicht. Dann werde ich halt morgen mal den DB-Vergleich machen.

  16. Ja, wenn ich das manuell im BO anlege und die Varianten generiere geht das. 

    Artikel mit Farbvarianten kann ich auch importieren ohne das es da zu Komplikationen kommt. Nur bei den Größen hapert es. Sämtliche Größen der varianten die ich importieren will existieren im Shop bereits.

    Ich denke auch nicht das es wirklich am Store Manager liegt, den hat Emagic ja schon seit einiger Zeit 1.7 kompatibel.

    Bilder etc., alles wird importiert und geht auch. Bis auf die Größen :(

    Obwohl mir aufgefallen ist das nach dem Import die kleinen MInivorschaubilder im BO Katalog nicht immer zum Artikel passen. In der Artikelbearbeitung selbst und im Shop selbst sind die dann aber korrekt. Keine Ahnung wo PS die Bilder her holt.  :huh2:

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More