Ja, das geht auch über SQL Befehle. Da muss man dann schauen, was geändert werden soll bzw. wo was eingefügt werden soll. Am einfachsten wäre es vielleicht, hier wieder über eine UPDATE-Anweisung mit REPLACE zum Beispiel den alten Text mit neuem zu ersetzen. Oder ein falsch geschriebenes Wort durch das korrigierte Wort auszutauschen. Oder wie in Deinem Fall, einen Zeilenabstand durch <br>, an der richtigen Stelle eingefügt, zu vergrößern. Idealerweise könnte man jedem <p></p> Element eine id vergeben, dann ist man flexibel, was das spätere Anpassen des Layouts betrifft. Beispielsweise: <div id="div_herst"> <p id="p_herst_zeile_1">Herstellername: Fa. Schrott & Mist</p> <p id="p_herst_zeile_2">bla bla bla</p> <p id="p_herst_zeile_3">bla bla bla</p> <p id="p_herst_zeile_4">bla bla bla</p> </div> Ich empfehle, sich mit SQL auseinander zu setzen. Ich bin der Meinung, wenn man nicht annähernd weiß was man tut, auch sehr schnell Fehler produzieren kann. Das Grundlegende zu verstehen ist nicht so schwierig, mit dem kann man schon einiges machen. Komplizierter wird es zum Beispiel bei regulären Audrücken - da bin ich auch Anfänger. Immer nur im Testshop testen und vorher DB sichern!!!
Wenn Du vorher die DB gesichert hast, wovon ich ja sehr stark ausgehe, spiele diese doch neu ein. Dann kannst Du doch in der SQL Update-Anweisung deinen Text korrigieren und diesen korrigierten SQL Befehl dann neu ausführen. Immer nur im Testshop testen und vorher DB sichern!!!
Ich kenne mich da auch noch nicht aus. Werde daran arbeiten. Hast du einen Datenbankbefehl für alle Artikel: SET products_description = CONCAT(products_description,'[TAB:Herstellerangaben] <div class="tab-body"> {addProductTab pID=$PRODUCTS_ID} </div> Ich möchte das im Testshop probieren.
Was meinst Du mit alle Artikel? Alle Artikel sollen dieselben Herstellerangaben haben? Du hast also nur einen Hersteller?
@Gerd_P Du hast doch in Deinem Shop schon die Herstellerangaben und die Produktsicherheit sehr schön gelöst, wie ich meine.
ja genau das wäre die "Notlösung" deshalb auch die Frage nach "einfachen" Befehlen also einfach gedacht eben. Man versucht sich mit vielem auseinanderzusetzen aber manchmal sitzt man auf dem Schlauch oder es wird etwas to much, zwischen eben "up to date im § Jungle", "up to date für die Dinge die man verkauft", "up to date Shop" und dann noch Dienstleistungsaufträge - ich bin nicht nur im Handel. Danke für Deine Hilfe!
Ich muss nochmal auf meinen Beitrag #77 hinweisen und folgendes dazu sagen: 1.) Der SQL Code betrifft das Einbauen eines TABs für Herstellerangaben. Hab meine Beitrag leider im falschen Thema gepostet, nähmlich in Diesem. 2.) Der SQL Befehl (#77) setzt einen TAB hinter den letzten Tab, wenn man einen oder mehrere Tabs schon hat. Also, der TAB steht dann rechts als letzter TAB. Möchte man den Tab nicht an letzter Stelle, also nicht rechts stehen haben, sondern irgendwo dazwischen, sieht der SQL Befehl anders aus. 3.) Voraussetzung für diese SQL-Anweisung ist, dass den einzelnen Artikeln eine Hersteller-ID zugeordnet ist. Ist das nicht der Fall, muss man dieses als erstes nachholen. Zum Beispiel wieder über SQL oder in der Exportdatei, mit anschließendem Import. 4.) Die Formatierung der Herstellerangaben kann man im Gambio eigenen Editor machen, damit man sieht, wie die Gestaltung nachher aussieht. Dann den um HTML erweiterten Text (im Editor Html anklicken) in den SQL Befehl einsetzen. 5.) Man kann bei dem SQL Befehl aber auch nur erst einmal bei einem Artikel einen TAB einfügen, mit der entsprecheden Artikel ID (steht oben in der Browserleiste: pID=64 zum Beispiel). Das wäre dann der Artikel 64 vom Hersteller 1. Der SQL Befehl wird dann mit "AND products_description.products_id = 64" erweitert. ... ... ... WHERE products.manufacturers_id = 1 AND products_description.language_id = 2 AND products_description.products_id = 64 /*Artikel mit ID 64 bekommt einen Herstellertab*/ AND products_description.products_description NOT LIKE '%[TAB:Herstellerangaben]%'; 6.) Löschen kann man dann den einzelnen Tab, falls man ihn nicht mehr haben möchte mit: UPDATE products_description INNER JOIN products ON products_description.products_id = products.products_id SET products_description = REGEXP_REPLACE(products_description, '\\[TAB:Herstellerangaben\\](.|\\s)*', '') WHERE products.manufacturers_id = 1 AND products_description.language_id = 2 AND products.products_id = 64 AND products_description.products_description REGEXP '\\[TAB:Herstellerangaben\\]'; 7.) Hat man alle Artikel von einem bestimmten Hersteller Herstellertabs verpasst, kann man diese auch löschen mit: UPDATE products_description INNER JOIN products ON products_description.products_id = products.products_id SET products_description = REGEXP_REPLACE(products_description, '\\[TAB:Herstellerangaben\\](.|\\s)*', '') WHERE products.manufacturers_id = 1 AND products_description.language_id = 2 AND products_description.products_description REGEXP '\\[TAB:Herstellerangaben\\]'; 8.) Alle Herstellerangaben-TABs, also von allen Herstellern und allen Artikeln komplett löschen: UPDATE products_description INNER JOIN products ON products_description.products_id = products.products_id SET products_description = REGEXP_REPLACE(products_description, '\\[TAB:Herstellerangaben\\](.|\\s)*', '') WHERE products_description.language_id = 2 AND products_description.products_description REGEXP '\\[TAB:Herstellerangaben\\]'; 9.) Und gaaaaanz wichtig: Die SQL Löschanweisungen funktionieren für den Shop nur fehlerfrei, wenn der TAB mit den Herstellerinformationen als letzte TAB in der TAB-Reihe steht, also ganz rechts, wenn danach nichts mehr steht. Ansonsten wird nicht nur der TAB mit Inhalt gelöscht, sondern auch alles, was in der products_description noch hinter dem TAB als Text oder wat auch immer noch vorkommt. Natürlich kann man auch den Herstellertab löschen, wenn er zwischen anderen Tabs steht, also nicht rechts am Ende, dann sieht die SQL Anweisung aber anders aus. Ich hatte die SQL Befehle genutzt, da ich in meinem Shop ca. 6000 Artikel hatte - das war für mich die schnellste Lösung. Es sind noch andere Lösungen im Forum aufgezeigt worden, die wahrscheinlich besser und unproblematischer sind - also, wer unsicher in SQL ist und nicht genau weiß was er tut, andere Lösungen in Betracht ziehen, in jedem Fall. Immer nur im Testshop testen und vorher DB sichern!!!
Habe das mal getestet, auch eine gute Lösung. Aber beim löschen, meine Datenbank kennt den Befehl REGEXP_REPLACE nicht
Echt? - kann ich mir nicht vorstellen, Tippfehler? Sehe gerade, Du bist bei alfahosting, hm. In MySQL wird REGEXP_REPLACE ab Version 8.0.0 unterstützt - frag mal bei alfahosting nach oder schau mal selber, welche MySQL-Version Du hast. Solltest Du bei alfahosting selber hochstufen können, ansonsten die einfach mal anrufen. Oder schau mal in Dein Admin nach der Version, wird dort auch stehen.
(Link nur für registrierte Nutzer sichtbar.) steht auf der SQL-Seite. Und bei Alfahosting MySQL 5.7.25 Da stehe gerade mit Alfahosting in Kontakt. Irgendwie war mal bei der Shopinstallation vor 12 Jahren bei Einstellung mal die Abfrage phpMiniAdmin benutzen, kann ich mich auch irren.