Posts by rkempf
-
-
-
Vielen Dank für die offene Rückmeldung – das hilft sehr bei der Einordnung.
Ein Punkt ist für mich dabei allerdings noch nicht ganz klar:
Auf der webEdition-Website wird MySQL ≥ 8 weiterhin als unterstützte Systemvoraussetzung geführt. Gleichzeitig besteht aktuell offenbar keine MySQL-Testumgebung im Entwicklungsprozess.
Aus Anwendersicht entsteht dadurch eine gewisse Unsicherheit, da „unterstützt“ üblicherweise auch bedeutet, dass eine Plattform aktiv getestet und im Update-Prozess berücksichtigt wird.
Die von mir genannten Punkte (Deprecated-Warnings und konkrete Fehler im Betrieb) lassen sich damit nachvollziehbar erklären, zeigen aber auch, dass sich hier eine Lücke zwischen offizieller Unterstützung und praktischer Absicherung ergeben könnte.
Daher würde mich interessieren, wie das perspektivisch gedacht ist:
- Ist MySQL weiterhin als gleichwertig unterstützte Plattform vorgesehen?
- Oder entwickelt sich webEdition faktisch in Richtung MariaDB als primäres Zielsystem?
Für die Praxis wäre hier aus meiner Sicht eine klare Kommunikation wichtig, da dies direkte Auswirkungen auf Hosting-Entscheidungen und die Planung von Updates hat.
-
Liebes Entwicklerteam,
im Zuge eines aktuellen Updates sind bei uns unter MySQL 8 mehrere wiederkehrende Auffälligkeiten aufgetreten, die ich kurz gebündelt ansprechen möchte:
- zahlreiche *deprecated*-Warnings (u. a. `!` statt `NOT`, `&&` statt `AND`, `utf8`/`utf8mb3`)
- diese betreffen nicht nur Queries, sondern auch Tabellendefinitionen (z. B. Generated Columns)Zum anderen kommt es unter MySQL auch zu konkreten Fehlern, z. B.:
„Column … cannot be null“ bei NOT NULL-Spalten
Diese treten im laufenden Betrieb (z. B. beim Rebuild/Publish) auf und führen dazu, dass Prozesse abbrechen. Das ist aus meiner Sicht kritisch, da es nicht nur kosmetische Themen betrifft, sondern reale Funktionalität.
Aus unserer Sicht deutet das darauf hin, dass MySQL von WE aktuell nicht durchgängig als Zielplattform berücksichtigt wird. Gleichzeitig ist MySQL im Hosting-Umfeld weiterhin sehr verbreitet, sodass sich hier praktische Einschränkungen ergeben (Updates, Betriebssicherheit, Fehleranalyse). Bei Mittwald gibt es z.B. im Managed Hosting Bereich sogar ausschließlich MySQL. Wir haben dort zwei große Projekte ohne Migrationsoption zu MariaDB.
Daher meine konkreten Fragen an das Entwickler-Team:
- Ist MySQL weiterhin als unterstützte Zielplattform vorgesehen?
- Gibt es Pläne, wieder eine MySQL-Testumgebung in den Entwicklungsprozess zu integrieren?
- Wie wird sichergestellt, dass Updates zukünftig ohne solche Risiken eingespielt werden können?Die Themen erscheinen lösbar, sind aber aus unserer Sicht relevant für Updatesicherheit und einen langfristig wirtschaftlichen Betrieb.
Vielen Dank vorab für eine kurze Einschätzung.
-
Beim Update von WE 10.0.4 auf 10.1.1 werden zu utf8mb3 Errors geloggt:
Code
Display MoreID: 2031 -------------------------------------------------------------------------------- Type: SQL Error -------------------------------------------------------------------------------- Function: errorHandler -------------------------------------------------------------------------------- File: webEdition/liveUpdate/classes/liveUpdateFunctions.class.php -------------------------------------------------------------------------------- Position: 1009 -------------------------------------------------------------------------------- Text: MYSQL-WARNING 3719: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous. 3778: 'utf8mb3_unicode_ci' is a collation of the deprecated character set UTF8MB3. Please consider using UTF8MB4 with an appropriate collation instead. CREATE TEMPORARY TABLE __we_delete__tblversionslog ( `ID` int unsigned NOT NULL auto_increment, `logDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `typ` enum('prefs','reset','delete') NOT NULL, `userID` int unsigned NOT NULL, `data` longtext NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=myisam CHARACTER SET utf8 COLLATE utf8mb3_unicode_ci; -------------------------------------------------------------------------------- Backtrace: #0 we_base_errorHandler::errorHandler called at [webEdition/liveUpdate/classes/liveUpdateFunctions.class.php:1009] #1 liveUpdateFunctions::liveUpdateErrorHandler called at [:] #2 t_e called at [webEdition/we/classes/database/we_database_base.class.php:529] #3 we_database_base->query called at [webEdition/liveUpdate/updateClient/liveUpdateFunctionsServer.class.php:184] #4 liveUpdateFunctionsServer->executeUpdateQuery called at [webEdition/liveUpdate/updateClient/liveUpdateFunctionsServer.class.php:49] #5 liveUpdateFunctionsServer->executeQueriesInFiles called at [webEdition/liveUpdate/classes/liveUpdateResponse.class.php:326] #6 liveUpdateResponse->dbUpdate called at [webEdition/liveUpdate/classes/liveUpdateResponse.class.php:413] #7 liveUpdateResponse->getOutput called at [webEdition/liveUpdate/updateClient/liveUpdateResponseServer.class.php:95] #8 liveUpdateResponseServer->getOutput called at [webEdition/liveUpdate/updateClient/liveUpdateServer.php:128] #9 dealUpdateCmd called at [webEdition/liveUpdate/updateClient/liveUpdateServer.php:142] -------------------------------------------------------------------------------- Date: 2026-04-12 12:41:32 -------------------------------------------------------------------------------- Source-Code: webEdition/liveUpdate/classes/liveUpdateFunctions.class.php: 1008: //log errors to system log, if we have one. 1009: return we_base_errorHandler::errorHandler($errno, $errstr, $errfile, $errline); 1010: } 1011: } 1012: return true; 1013: } ---------------------------------------------------------- webEdition/we/classes/database/we_database_base.class.php: 528: if($this->Warnings){ 529: t_e('notice', 'MYSQL-WARNING' . "\n" . implode("\n", $this->Warnings) . "\n" . $query->getQuery()); 530: } 531: 532: if($this->Errno){ 533: return $this->handleQueryError($isRetry, $query, $allowUnion, $unbuffered, $repool, $throw); ---------------------------------------------------------- webEdition/liveUpdate/updateClient/liveUpdateFunctionsServer.class.php: File not found/readableDOCUMENT_ROOT/webEdition/liveUpdate/updateClient/liveUpdateFunctionsServer.class.php ---------------------------------------------------------- webEdition/liveUpdate/updateClient/liveUpdateFunctionsServer.class.php: File not found/readableDOCUMENT_ROOT/webEdition/liveUpdate/updateClient/liveUpdateFunctionsServer.class.php ---------------------------------------------------------- webEdition/liveUpdate/classes/liveUpdateResponse.class.php: 325: } 326: if($liveUpdateFnc->executeQueriesInFiles($allFiles[$i])){ 327: $text = substr($fileName, -40); 328: $message .= "<div>…$text</div>"; 329: } 330: $msg = array_filter($liveUpdateFnc->getQueryLog()); ---------------------------------------------------------- webEdition/liveUpdate/classes/liveUpdateResponse.class.php: 412: 'SaveFiles' => $this->saveFiles(), 413: 'DBUpdate' => $this->dbUpdate(), 414: 'CopyFiles' => $this->copyFiles(), 415: 'ExecutePatches' => $this->executePatches(), 416: 'nextStep' => '', 417: 'finishLangUpdate' => $this->finishLangUpdate(), ---------------------------------------------------------- webEdition/liveUpdate/updateClient/liveUpdateResponseServer.class.php: File not found/readableDOCUMENT_ROOT/webEdition/liveUpdate/updateClient/liveUpdateResponseServer.class.php ---------------------------------------------------------- -
Das ist jetzt in der Bugbase eingetragen.
Zugangsdaten kann ich gerne per PM zusenden.
-
Eine umfangreiche Seite (ca. 2.000 Seiten) hat nach Update von WE 9.3.1 auf 10.04 reihenweise Slow queries im Log. Betrifft sporadisch diverse Seiten und lässt sich nicht reproduzieren. Ein Beispiel:
Code
Display MoreSLOW QUERY detected --------------------------------------------------- SELECT f.ID FROM tblFile f JOIN tblContent c ON (f.ID=c.DID AND c.DocumentTable="tblFile") LEFT JOIN tblContent cc0 ON (cc0.DID=f.ID AND cc0.DocumentTable="tblFile" AND cc0.nHash=x'3d8252a0fb3ab8a64613f6f814ed08ca') WHERE f.IsFolder=0 AND f.IsPublished=1 AND f.IsSearchable=1 AND (f.ParentID IN (9510, 9511, 9515, 9522, 9523, 9525, 9521, 9524, 9514, 9517, 9518, 9519, 9516, 9512, 9513, 9520, 9526, 9527, 9528, 9529)) GROUP BY f.ID ORDER BY COALESCE(cc0.Dat,cc0.BDID) DESC LIMIT 0,3 --------------------------------------------------- Array ( [time] => 1.2889127731323 [trigger] => 0 [errno] => 0 [error] => [affected] => 3 [rows] => 3 [explain] => Array ( [0] => id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra [1] => 1 | SIMPLE | f | range | PRIMARY,ParentID,searchable,IsFolder,IsPublished,Revisit | searchable | 7 | | 96 | 96.02 | Using index condition; Using where; Using temporary; Using filesort [2] => 1 | SIMPLE | cc0 | eq_ref | prim,nHash | prim | 22 | const,at5zhzr_4.f.ID,const | 1 | 4.79 | Using where [3] => 1 | SIMPLE | c | ref | prim | prim | 5 | const,at5zhzr_4.f.ID | 8 | 100 | Using where; Using index ) )@Marc: hat sich da grundsätzlich bei den Queries was verändert? Die 9er Version lief bislang ohne Probleme.
-
Moin Marc,
ich habs mal so gelernt, dass es für die Vorschau im Backend innerhalb von <we:ifWebEdition></we:ifWebEdition> kein <we:object></we:object> braucht. Die Felder gebe ich blanko mit Var-Tags aus. Field-Tags gehen ja nur innerhalb von <we:object>.Das funktioniert ja auch. Nur eben die Felder vom Typ "checkbox" nicht.
-
Danke, Finn. Aber in der Objekt-Vorschau werden die Felder doch mit Var-Tags ausgegeben.
Das geht ja auch mit allen anderen Feld-Typen, aber ich weiss nicht, wie ich an die Checkbox-Werte rankomme.
-
Ein gutes neues Jahr für alle!
Eine Frage zum Objekt-Feld Typ checkbox:
Ich möchte für die Objekt-Vorschau die Felder entsprechend steuern, wie im Frontend:CodeFrontend: <we:ifNotFieldEmpty name="t1" type="checkbox">Neubau</we:ifNotFieldEmpty> Backend Objekt-Vorschau: <we:ifWebEdition> <we:ifVar name="t1" match="1" operator="equal">Neubau</span> </we:ifVar> </we:ifWebEdition>Bei der Field-Ausgabe funktioniert die Abfrage, ob das Feld gefüllt ist.
Wie erfolgt die Variablen-Abfrage bei einer checkbox. Es geht weder ifNotVarEmpty noch ifVar mit match?
-
Ich hab mal WE-Updates von 10.0.1 auf 10.0.3 auf unseren Testinstalls durchgeführt und es bestehen in der Tat Probleme bei diversen Datenbankanfragen:
Test auf Install #1 MySQL 8.0.36 PHP 8.3:
- Update läuft durch aber Fehlermeldung im Update-Log:Code(tblIndex.sql) Einige Datenbankanfragen konnten nicht durchgeführt werden.: 1064 You+have+an+error+in+your+SQL+syntax%3B+check+the+manual+that+corresponds+to+your+MariaDB+server+version+for+the+right+syntax+to+use+near+%27PRIMARY%27+at+line+1 -- ALTER TABLE tblIndex DROP KEY PRIMARY --Und im WE-Fehler-Log, nur ein kleiner Teil, betrifft diverse Tabellen:
Code
Display MoreErrors while updating tables --------------------------------------------------- Array ( [0] => Update of table tblFile failed (create temporary table was not successfull) -- CREATE TABLE __we_delete__tblFile ( `ID` int unsigned NOT NULL auto_increment, `ParentID` int unsigned NOT NULL default '0', `Filename` varchar(230) NOT NULL default '', `Extension` varchar(16) NOT NULL DEFAULT '', `Path` varchar(800) NOT NULL default '', `IsProtected` BOOLEAN NOT NULL default '0', `ContentType` enum('image/*','text/html','text/webedition','text/js','application/json','text/css','text/htaccess','text/plain','folder/document','application/*','application/pdf','text/xml','video/*','audio/*','folder') NOT NULL, ...Test auf Install #2 MariaDB 10.4 PHP 8.3:
- Update läuft durch aber gleiche Fehlermeldung wie unter MySQL im Update-Log:Code(tblIndex.sql) Einige Datenbankanfragen konnten nicht durchgeführt werden.: 1064 You+have+an+error+in+your+SQL+syntax%3B+check+the+manual+that+corresponds+to+your+MariaDB+server+version+for+the+right+syntax+to+use+near+%27PRIMARY%27+at+line+1 -- ALTER TABLE tblIndex DROP KEY PRIMARY --Ich weiss nicht, ob das mit Deinem Problem zusammenhängt. Das ist aber definitiv ein Fall für die Bugbase.
-
Danke, Finn.
Die Fehler wegen der Navi lagen an einem Sonderzeichen in einem Namen-Feld. Nachdem ich das entfernt und neu gespeichert hatte, lief es wieder.
Ist eine kleinere Installation mit Objekten und Dokumenten. Aber nach umfangreichen Tests reagiert die Seite stabil.
-
Moin zusammen,
Domainfactory migriert derzeit unserer Kunden auf eine neue Serverplattform cPanel. Dabei sind noch 9er WE-Installationen, die zwangsweise noch unter MySQL 5.7 laufen. Jetzt wurde ein Kunde mit alter Datenbank von DF migriert und jetzt läuft die Seite unter MariaDB. Es sind einige Fehlermeldungen im Log wegen der Navigation, die wir beheben können. Ansonsten läuft die Seite. Ich bin mir aber nicht sicher, ob das auf Dauer für die Seite gesund ist bezüglich WE-Updates etc..
Meine Frage ist, wie die Empfehlung in diesem Fall ist und es nicht besser wäre, die Seite unter MariaDB komplett neu aufzusetzen.
-
Mittlerweile geht die Entwicklung von MySQL und MariaDB deutlich auseinander. Fast alle Linux Distributionen setzen nur MariaDB ein. Und mittlerweile stellen auch einige Hoster um.
Ja, wenn immer möglich setzen wir auch MariaDB ein. Aber wir haben auch einige WE-Installationen bei Hostern z.T. mit alten Verträgen, auf deren Plattform eben nur MySQL läuft. Ein Umswitchen wäre mit erheblichem Aufwand für den Kunden verbunden. Hierfür benötigen wir in jedem Fall weiterhin MySQL-Unterstützung.
Ich wollte das nur mal der Entwicklung zu Bedenken geben. Und Danke fürs fixen!
-
Ich habe mittlerweile keine MySQL mehr zur Verfügung um zu schauen, was sie da genau stört.
Lieber Marc, das verstehe ich nicht. In den Systemvoraussetzungen für webEdition steht doch: MySQL >= 5.7 / MariaDB >= 10.2 - Dann gehe ich davon aus, dass die Entwicklung auch für beide Datenbanken erfolgt.
Problem: Wenn möglich, wählen wir MariaDB aber bei einigen Hostern steht nur MySQL zur Verfügung. Vor allem auch noch bei älteren Webpaketen. Wir haben deshalb zwangsweise noch einige MySQL-Installationen am laufen.
-
WE 9.3.1 / MariaDB 10 / PHP 8.3
Bei einer umfangreichen Website (> 2000 Seiten) haben wir immer wieder Slow query Warnmeldungen im WE-Log, die durch die Suchfunktion der Seite ausgelöst werden. Das betrifft vor allem Sucheingaben mit mehreren Begriffen. Beispiel: gut durch den sommer
Code
Display MoreID: 7 -------------------------------------------------------------------------------- Type: User warning -------------------------------------------------------------------------------- Function: t_e -------------------------------------------------------------------------------- File: webEdition/we/classes/database/we_database_base.class.php -------------------------------------------------------------------------------- Line: 638 -------------------------------------------------------------------------------- Text: SLOW QUERY detected --------------------------------------------------- SELECT f.ID,0-(i.Text LIKE "%gut%")-(i.Text LIKE "%durch%")-(i.Text LIKE "%den%")-(i.Text LIKE "%sommer%") AS ranking FROM tblFile f JOIN tblContent c ON (f.ID=c.DID AND c.DocumentTable="tblFile") JOIN tblIndex i ON (i.ID=f.ID AND i.ClassID=0) WHERE f.IsFolder=0 AND f.IsPublished=1 AND f.IsSearchable=1 AND ((i.Text LIKE "%gut%") OR (i.Text LIKE "%durch%") OR (i.Text LIKE "%den%") OR (i.Text LIKE "%sommer%")) GROUP BY f.ID ORDER BY f.Creation_Date DESC,ranking LIMIT 0,30Die Frage ist, ob das ein WE-Problem ist und wie wir es beheben können? Die Seite lief mit der empfohlenen max_execution_time 30. Wir haben das jetzt erstmal wieder auf den Serverstandard 180 gesetzt.
Problem ist, wenn bei einer solchen Suchaktion, ein Leistungsengpass der Datenbank entsteht und gleichzeitig jemand im Backend eine Seite editiert, kommt es auch im Backend zum Problem. Das hatten wir diese Woche bei einer Seite und es fanden sich einige Warnmeldungen durch die Suchfunktion und Seitenbearbeitungen im Backend im gleichen Zeitrahmen.
Code
Display MoreID: 20 -------------------------------------------------------------------------------- Type: User warning -------------------------------------------------------------------------------- Function: t_e -------------------------------------------------------------------------------- File: webEdition/we/classes/database/we_database_base.class.php -------------------------------------------------------------------------------- Line: 638 -------------------------------------------------------------------------------- Text: SLOW QUERY detected --------------------------------------------------- UPDATE tblFile SET `ParentID`=493,`Filename`="newsletter",`Extension`=".php",`Path`="/newsletter/newsletter.php",`Mod_Date`="2025-07-14 16:28:35",`Publish_Date`="2025-07-14 16:26:16",`DocType`=27,`CreatorID`=10,`ModifierID`=10,`RestrictOwners`=0,`Owners`="",`Language`="de_DE",`WebUserID`=0 WHERE ID=8978 --------------------------------------------------- Array ( [time] => 5.1730129718781 [trigger] => 0 [errno] => 0 [error] => [affected] => 1 [rows] => 0 [explain] => Array ( ) ) -------------------------------------------------------------------------------- Backtrace: #1 t_e called at [webEdition/we/classes/database/we_database_base.class.php:638] #2 we_database_base->query called at [webEdition/we/classes/contents/we_contents_base.class.php:416] #3 we_contents_base->savePersistentSlotsToDB called at [webEdition/we/classes/document/we_document_textContent.class.php:345] #4 we_document_textContent->saveTmp called at [webEdition/we/classes/document/we_document_textContent.class.php:191] #5 we_document_textContent->we_save called at [webEdition/we/classes/document/we_document_webEdition.class.php:570] #6 we_document_webEdition->we_save called at [webEdition/we/classes/editor/we_editor_functions.class.php:585] #7 we_editor_functions::saveDocument called at [webEdition/we_cmd.php:174] #8 findInclude called at [webEdition/we_cmd.php:397]@Marc
Wie bekommen wir die Slow queries durch die Suchfunktion in den Griff? -
So funktioniert es bei mir:
1. Kontaktform
Mit Cloudflare-Script. Absenden verlinkt auf send.phpHTML
Display More<we:sessionStart /> <!DOCTYPE HTML> <html dir="ltr" lang='de'> <head> <we:css id="65" /> <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" defer></script> </head> <body> <we:ifNotEditmode> <section class="container mt-5"> <div class="row"> <div class="col-md-6"> <we:form name="kontaktformular" method="post" class="form-horizontal" id="156" remove="Absenden" charset="UTF-8"> <input type="hidden" name="subject" value="Kontaktanfrage"> <h4 class="h3">Formular</h4> <div class="col-md-12"> <div class="mb-4"> <label for="Name" class="form-label-lg">Name</label> <input class="form-control border-red" type="text" name="name" id="Name" required placeholder="Ihr Name" required> </div> </div> <div class="col-md-12"> <div class="mb-4"> <label for="Telefon" class="form-label-lg">Telefon</label> <input class="form-control border-red" type="text" name="telefon" id="Telefon" placeholder="Telefon" required> </div> </div> <div class="col-md-12"> <div class="mb-4"> <label for="email" class="form-label-lg">E-Mail</label> <input class="form-control border-red" type="email" name="email" id="email" required placeholder="Gültige E-Mail-Adresse" required> </div> </div> <div class="col-md-12"> <div class="mb-4 mt-2"> <label for="Nachricht" class="form-label-lg">Ihre Nachricht</label> <textarea name="message" class="form-control border-red" id="Nachricht" rows="5" placeholder="Ihre Nachricht" required></textarea> </div> </div> <div class="col-md-12 mb-3"> <p class="small">Mit dem Absenden dieses Formulars akzeptieren Sie unsere <a href="/datenschutzerklaerung.html">Datenschutzerklärung</a>.</p> </div> <div class="col-md-12 mb-3"> <div class="cf-turnstile" data-sitekey="YOUR DATA SITE KEY" ></div> </div> <div class="mb-4"><input type="submit" name="submit" id="approve" class="btn btn-primary btn-lg" style="width:200px;" value="Absenden"></div> </we:form> </div> </div> </section> <we:js id="67" /> </we:ifNotEditmode> </body> </html>2. send.php -> WE include mit serverseitigem turnstile check
PHP
Display More<?php $msg = ''; // Define your secret key $secretKey = 'YOUR SECRET KEY'; // Get response token from the form $responseToken = $_POST['cf-turnstile-response']; // Get user's IP address $remoteIP = $_SERVER['REMOTE_ADDR']; // Prepare data for the POST request $data = array( 'secret' => $secretKey, 'response' => $responseToken, 'remoteip' => $remoteIP ); // Initialize curl session $ch = curl_init(); // Set curl options curl_setopt($ch, CURLOPT_URL, 'https://challenges.cloudflare.com/turnstile/v0/siteverify'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Execute the POST request $response = curl_exec($ch); // Close curl session curl_close($ch); // Decode JSON response $result = json_decode($response, true); // Check if verification was successful if ($result && isset($result['success']) && $result['success'] === true) { // Verification successful, proceed with sendmail $msg = 'success'; } else { // Verification failed, handle error $msg = 'failed'; } ?>3. send.php -> HTML
HTML
Display More<we:include type="template" id="29" /> <we:sessionStart /> <!DOCTYPE HTML> <html dir="ltr" lang='<we:pageLanguage type="language" />'> <head> <we:title></we:title> <we:description></we:description> <we:keywords></we:keywords> <we:charset defined="UTF-8">UTF-8</we:charset> <we:css id="65" /> <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" defer></script> </head> <body> <we:ifNotEditmode> <section class="container mt-5"> <div class="row"> <div class="col-md-6"> <we:comment>sendmail nach Absenden des Formulars</we:comment> <we:ifVar match="success" name="msg" type="global"> <we:sendMail from="noreply@beispiel.de" recipient="mail@beispiel.de" id="155" subject="Anfrage von der Website"/> <div class="alert alert-success" role="alert"> Vielen Dank für Ihre Nachricht! Wir melden uns schnellstmöglich bei Ihnen! </div> </we:ifVar> <we:ifVar match="failed" name="msg" type="global"> <div class="alert alert-danger" role="alert"> Fehler - ein Spamversuch ist unterbunden worden. </div> </we:ifVar> </div> </div> </section> <we:js id="67" /> </we:ifNotEditmode> </body> </html> -
Grundsätzlich kannst du beim we:form vorgehen wie bei einem klassischen html form. Ist ja auch eins

Ahhh, echt? Das muss einem Dummie auch gesagt werden

-
Ich habe gute Erfahrungen mit turnstile bei einer statischen Seite (ohne WE) gemacht und möchte das jetzt auch in WE nutzen. Die Frage ist, wie das am besten im Template eingebunden wird. Vermutlich über eine classe per include.
Hättest Du ein Script-Beispiel für ein Kontaktformular mit we:form?
-
Bei mir hat bei DF das Update auf WE 10 heute auch geklappt. Problem scheint behoben.