Leserwahl
Populäre Artikel
Ich habe bereits einige Lektionen zum Erstellen von Formularen auf FormIt in Verbindung mit - dieses Bundle hat Vorteile: Formulare senden ohne erneutes Laden, es gibt ein Popup-Fenster, dass die Nachricht gesendet wurde usw. Nun, und dementsprechend die Nachteile: js- und css-Datei werden dem Code hinzugefügt - was der Geschwindigkeit ein Minus verleiht und in der js-Ausgabe gibt es keine erforderlicher Typ im Aufruf erscheint deshalb im Validator eine Warnung - Sie müssen sie nicht in html 5 angeben.
Daher habe ich mich entschieden, Formulare auf reinem FormIt zu erstellen, darum geht es heute in der Lektion.
Das HTML-Markup des Formulars hat jetzt folgenden Code:
Es ist sozusagen nichts besonderes, der Standard mit dem Markup von Bootstrap 4. Machen wir ihn unter Berücksichtigung der Syntax neu und schmeißen das unnötige Russify weg, fügen Spamschutz in einem Rutsch hinzu:
[[! FormIt? & hooks = `spam, email` & emailTpl =` email-tpl` & emailTo = `[[++ emailsender]]` & emailSubject = `Email from site [[++ site_url]]]` & valid = `workemail: leer, Name: erforderlich, E-Mail: E-Mail: erforderlich, Nachricht: erforderlich: stripTags, Telefon: erforderlich` & successMessage = `
Analysieren Sie den Code und gehen Sie von oben nach unten:
& Hooks - hier werden verschiedene Hooks hinzugefügt, auch selbstgeschriebene: in unserem Fall gibt es 2 Standard-Hooks: span - einfacher Schutz vor Spam und E-Mail - erforderlich zum Senden von Daten an Briefkasten... Über den Rest der Hooks spreche ich im Video etwas ausführlicher.
& emailTpl - Chunk mit dem Design des Briefes, hat den folgenden Code:
Von: [[+ Name]]
Telefon: [[+ Telefon]]
E-Mail: [[+ E-Mail]]
Nachricht: [[+ Nachricht]]
& emailTo - Adresse Email wohin die Formulare gesendet werden, in diesem Fall ist es angegeben Systemeinstellung(Taste) ++ E-Mail-Absender
& emailSubject - der Betreff der zu versendenden E-Mail
& validieren - Pflichtfelder zum Ausfüllen und oft Felder zum Schutz vor Spam vorschreiben
& successMessage - Nachricht nach erfolgreichem Senden
Ich werde den Formularcode nicht parsen, für alle Interessierten, schauen Sie sich das Video an und lesen Sie die Dokumentation: docs.modx.com/extras/revo/formit
Um Anhänge anhängen und versenden zu können, müssen Sie in das Formular-Tag schreiben
Enctype = "multipart / form-data"
und fügen Sie entsprechend Felder für den Dateianhang hinzu
Mehrere Formulare auf einer Seite
Schreiben Sie einfach in die Aufrufe jedes Formulars
& SubmitVar = `Formularname in Englisch`
Jedes Formular hat seinen eigenen Namen.
Was auch immer Sie sagen mögen, aber Sie werden auf jeden Fall auf Spam stoßen - am meisten effektive Methode um es zu bekämpfen - Sie können es auch versuchen.
Um ein Formular auf Modx ohne Spam zu erstellen, müssen Sie es mit zusätzlichen unsichtbaren Feldern erstellen:
1. Laden Sie die Ajaxform- und Formit-Komponenten herunter und installieren Sie sie
2.
Das Formular ist sehr einfach aufzurufen, das muss man sich ausdenken
[[!AjaxForm? & snippet = `FormIt` & form =` tpl.AjaxForm..ru `& emailTo =` [E-Mail geschützt] site` & validiere = `Name: erforderlich, E-Mail: erforderlich, Nachricht: erforderlich, geschäftliche E-Mail: leer` & ValidierungErrorMessage =` Das Formular enthält Fehler! `& successMessage =` Vielen Dank für Ihre Anfrage! Wir werden uns in Kürze mit Ihnen in Verbindung setzen. `& EmailTpl =` mailtpl`]]
Oder über die Fenom-Vorlage wie folgt:
($ _modx-> runSnippet ("! AjaxForm", ["snippet" => "FormIt", "form" => "tpl.AjaxForm.example", "hooks" => "email, spam" "emailFrom" => " [E-Mail geschützt]"," emailSubject "=>" Bewerbung von der Website daruse.ru "," emailTo "=>" [E-Mail geschützt]"," validieren "=>" Name: erforderlich, E-Mail: erforderlich, Nachricht: erforderlich, geschäftliche E-Mail: leer ","validierungsErrorMessage "=>" Das Formular enthält Fehler! "," successMessage "=>" Vielen Dank für Ihre Anfrage! Wir werden uns in Kürze mit Ihnen in Verbindung setzen. "," EmailTpl "=>" mailtpl ",]))
Beschreibung der Parameter:
3. Gehen Sie danach zu unserem Formulardesign-Chunk, in diesem Fall ist es tpl.AjaxForm.example und fügen Sie die folgenden beiden Felder nach dem Formular-Tag hinzu.
Jetzt sollte Ihr Formular aufgrund von zwei neuen Feldern keinen Spam passieren.
4. Erscheinen eines eingehenden Briefes
Standardmäßig kommt ein Brief ohne Formatierung in einem nicht sehr lesbaren Format in der Post an. Lassen Sie uns unseren Brief daher ein wenig mit einem Beispiel gestalten.
Die E-Mail-Vorlage ist ein einfacher Block, den wir im Parameter angeben emailTpl, alles ist sehr einfach, ich werde ein Designbeispiel schreiben. Wenn Sie Fragen haben, schreiben Sie in die Kommentare.
mailtpl:
Auf der Seite [[++ site_url]] eine Anfrage hinterlassen.
[[+ name: notempty = `Name: [[+ Name]]
`]] [[+ email: notempty =`E-Mail: [[+ E-Mail]]
`]] [[+ Nachricht: notempty =`Nachricht: [[+ Nachricht]]
`]]Bitte kontaktieren Sie ihn so schnell wie möglich.
Antworten Sie nicht auf diese E-Mail, da sie automatisch erfolgt.
Lesen Sie mehr über das Erstellen und den Spam-Schutz.
Wir haben nur noch eine Seite übrig, die wir noch nicht umgestaltet haben. Das ist die Seite Kontakte... Hier werden wir zusätzlich zu den Kontaktdaten ein Feedback-Formular haben. MODx hat ein spezielles Snippet zum Erstellen eines solchen Formulars - eForm. Schauen wir uns zunächst an, was ein Feedback-Formular eigentlich sein könnte.
1. Dies ist zunächst das Formular selbst mit Eingabefeldern Name, Anschrift, Themen posten und er selbst Beiträge... Fügen Sie zum Schutz vor Spam ein Captcha hinzu - ein Formular zur Eingabe eines Codes aus einem generierten Bild. Es ist auch erforderlich, die Richtigkeit der eingegebenen Informationen zu überprüfen.
2. Benachrichtigung des Besuchers über das Senden der Nachricht.
3. Die Form der gesendeten Nachricht, die an die E-Mail gesendet wird.
Bevor wir einen Block mit einer Vorlage für ein Kontaktformular erstellen, untersuchen wir den Code, der dieses Formular in unserer Vorlage beschreibt. Öffnen Sie die Datei in Notepad ++ kontakt.html die sich im Ordner C:/xampp/htdocs/site/www/assets/templates/templatemo_250_chess/ befindet. Das sind Zeilen mit 135 An 159 inklusive. Wie Sie sehen können, ist dies ein Container mit id = "kontakt_formular" in dem sich unser Formular befindet. Ausgehend von diesem Code erstellen wir einen neuen Chunk. form-tpl und fügen Sie die Platzhalter hinzu, die wir brauchen:
Von wem:
Telefon:
Nachricht:
Hier:
- Name des Absenders
- Telefonnummer des Absenders
- E-Mail des Absenders
- eine Nachricht, die vom Absender auf der Website geschrieben wurde
D Als nächstes erstellen wir eine Seite mit einer Nachricht über die erfolgreiche Einreichung und danken für die Tatsache, dass der Benutzer eine Nachricht über das Feedback-Formular gesendet hat.
Zum Beispiel:
Vielen Dank für die Zusendung des Briefes!
Ihre E-Mail wurde erfolgreich versendet.
Unser Spezialist wird Ihnen in Kürze antworten.
h und richten Sie eine Weiterleitung für diese Seite anhand ihrer ID ein.
Nicht vergessen Sie, den Wert des Parameters & redirectTo = `178` an der Stelle zu ändern, an der das FormIt-Schnipsel aufgerufen wurde (im Chunk-Code
Antworten
ollserg antwortete am Fr, 17.04.2015 - 11:07
DIESER FEEDBACK-FORMULAR CODE KANN NICHT FUNKTIONIEREN!
Dies ist keine Anpassung! Sie haben alle Funktionen entfernt! Lesen Sie den Artikel noch einmal sorgfältig durch und Sie werden es herausfinden.
Hier habe ich alles im Detail beschrieben, aber wenn es immer noch nicht funktioniert, können Sie über das "Bestellformular" auf dieser Seite Kontakt aufnehmen.
Antworten
Denis antwortete am Mo, 20.04.2015 - 17:56
POP-UP-FENSTER FORMIT
Vielen Dank! herausgefunden!
Haben Sie eine Lektion, wie Sie sicherstellen können, dass die Nachricht über die erfolgreiche Übermittlung in einem Popup-Fenster und nicht auf einer neuen Seite angezeigt wird, wenn Sie auf die Schaltfläche "Senden" klicken?
Antworten
ollserg antwortete am Do, 23.04.2015 - 14:56
MODALFENSTER
Verwenden Sie es als Popup auf Ihrer Website. Es gibt viele Implementierungsmethoden, ein Beispiel:
Fenster öffnen 1
Nun, das CSS für diesen Code.
Antworten
Alexey antwortete am So, 31.05.2015 - 16:09
MODALFENSTER
muss sich anmelden HTML-Vorlage, aber die Bedeutung von #win1 ist ihm unbekannt? Muss das irgendwo gefragt werden?
Vielen Dank.
Antworten
Alexey antwortete am So, 31.05.2015 - 16:17
MODALFENSTER
Bitte geben Sie an, wo sich der # win1-Parameter im Formularblock befindet, der geschrieben werden muss, damit der Link im HTML-Template versteht, was genau aufgerufen werden muss? Vielleicht habe ich etwas falsch verstanden, aber die Zeile
Sie müssen sich im HTML-Template registrieren, aber der Wert von win1 ist ihm unbekannt? Muss das irgendwo gefragt werden?
Mit modx erst 3 Tage alt, bitte, wie alles oben beschriebene, auf einfache Weise erklären.
Vielen Dank.
Antworten
ollserg antwortete am Mo, 01.06.2015 - 12:28
HTML MODAL FENSTERCODE
Antworten
Alex antwortete am Di, 07.07.2015 - 10:18
KEIN BRIEF
Deiner hat funktioniert, der Brief kam.
änderte die Felder auf die, die ich brauche, und leider kam der Brief nicht mehr.
hier ist der code
Antworten
ollserg antwortete am Mi, 08.07.2015 - 13:09
B! FORMIT? TEXT UND E-MAIL BESCHREIBEN
In!FormIt? Typbeschreibung erforderlich - & validieren = `E-Mail: E-Mail: erforderlich, Text: erforderlich: stripTags`
Antworten
Victor antwortete am Mo, 19.10.2015 - 14:03
GEGENSTAND DER MITTEILUNG IM FORMIT FEEDBACK FORMULAR
Guten Tag.
Ich verwende "& emailSubject =` Brief von der Site https: // Site / "- der Brief wird nicht gesendet, das Formular kehrt in den Zustand zurück, als ob ein Fehler im Feld aufgetreten wäre.
.
Es ist klar, dass es die kyrillische Kodierung nicht versteht, aber wo soll man suchen?
Bitte sagen Sie mir, was mb. Ursache.
Vielen Dank.
Antworten
ollserg antwortete am Di, 20.10.2015 - 22:47
APACHE- UND PHP-VERSIONEN
Das erste, was Sie meiner Meinung nach in Ihrem Fall beachten sollten, ist die Version von Apache und PHP auf Ihrem Server.
Antworten
AlexP antwortete am Do, 29.10.2015 - 14:15
PLATZHALTER
Der Platzhalter .. wird abgeschnitten.
Ich wollte "Ihr Name" in die Eingabe einfügen und die CSS-Datei formatieren. Aber aus irgendeinem Grund ist der Code nach value = "" placeholder = "(! LANG: Your name" - обрезается!}
Vielen Dank
Antworten
ollserg antwortete am Do, 29.10.2015 - 20:01
ALLE ANGESCHLOSSENEN CSS MÜSSEN ÜBERPRÜFT WERDEN
Das Zuschneiden von "Platzhaltern" geschieht genau aufgrund des Layouts
Antworten
Roman antwortete am Fr, 27.11.2015 - 13:43
FORMIT UND PROBLEME
Fornit oder seine Dokumentation haben einen großen Nachteil. Hier habe ich ein schönes Feedback-Popup-Fenster, aber es wird nicht von einem separaten Dokument erstellt, sondern erscheint, wenn jquery hilfe! Also Formit funktioniert damit nicht.. Und wie man es einrichtet, verstehe ich einfach nicht! Vielleicht haben Sie etwas Ähnliches kennengelernt.
Antworten
ollserg antwortete am Di, 01/12/2015 - 23:23
AJAXFORM-VERWENDUNG FÜR POPUP-FEEDBACK
FormIt weiß nicht, wie man Ajax aus der Box erstellt ... FormIt müssen Sie ein Add-In schreiben ... oder AjaxForm verwenden, das ist die beste Lösung für Popup-Feedback.
Antworten
andreev888 antwortete am Sa, 05.12.2015 - 22:26
ETWAS NICHTS
Sagen Sie den Leuten, die Anweisung ist anscheinend die zugänglichste von allen, die ich gesehen habe, ich habe alles gemäß den Anweisungen gemacht, aber ich sehe das Formular auf der Website überhaupt nicht ... kein Haken, kein Komma . .. Es wird nicht einfach angezeigt ... Wo suchen?
Antworten
ollserg antwortete am So, 12.06.2015 - 23:37
MODX REVOLUTION - REINIGUNG DES CACHE
Und wenn im Menü - Site und Site aktualisieren (Site-Cache leeren) Dies ist das erste, was mir in den Sinn kommt. Nun, alles ist einfach, lesen Sie den Beitrag noch einmal oder zwei und Sie werden Erfolg haben !!!
Antworten
Das Böse hat geantwortet am Fr, 18.12.2015 - 07:00
WUT
Sie zadolbali kopieren die gleichen Artikel! Überlegen Sie sich etwas Eigenes oder ändern Sie zumindest den Code im Artikel!
Antworten
ollserg antwortete am Fr, 18.12.2015 - 14:28
CODE DIESES FORMULARS LESER HABEN BEREITS VERSUCHEN, ZU ÄNDERN
Sie hatten Fragen zur Inoperabilität dieses Codes.
Sie können in den Kommentaren oben lesen.
Eine andere Frage ist, dass viele (es gibt keine genauen Statistiken) gedankenlos den Code dieses Artikels kopieren und auf ihren Websites einfügen, ohne ihn auch nur sorgfältig zu lesen. Ich habe den Code des Feedback-Formulars absichtlich von meiner Website kopiert und im Artikel die Stellen im Code angegeben, die in meinen eigenen geändert werden müssen. Und wie viele Briefe von Websites gingen an meine Post, bis ich die Adresse im Code korrigiert habe?! Es waren nicht Hunderte, sondern Dutzende.
Antworten
svbel antwortete am Do, 02.06.2016 - 10:11
FEHLER BEIM SENDEN VON MAIL
Was bedeutet die Meldung "Beim Senden von E-Mails ist ein Fehler aufgetreten. Die E-Mail-Funktion konnte nicht gestartet werden."
Antworten
ollserg antwortete am Do, 02.06.2016 - 10:54
DIE MAIL-FUNKTION KANN NICHT STARTEN.
Es kann viele Gründe geben. Sehen Sie, dass die in FormIt angegebenen Mail-Domain und Mail-Protokolle vorhanden sind und normal funktionieren?
Stellen Sie eine Frage an den Support Ihres Hosting-Providers. Im Allgemeinen gibt es keine eindeutige Antwort auf Ihre Frage.
Antworten
Denis antwortete am Mi, 15.06.2016 - 15:53
BRIEFE KOMMEN NICHT PER MAIL
Guten Tag! Ich habe ein Formular nach deiner Beschreibung gemacht, alles funktioniert, geht auf die Dankesseite, aber es kommt nichts an die Mail
Hosting-Site. Theoretisch steht alles im Normenkodex
Sag mir, was ist dann das Problem? Vielen Dank!
Antworten
ollserg antwortete am Fr, 17.06.2016 - 12:17
DAS MODX FEEDBACK-FORMULAR ist 100% KORREKT. INSTRUKTIONEN BEFOLGEN.
Lesen Sie den Artikel sorgfältig durch. Achte auf den Brocken
In Verbindung stehende Artikel: | |
Erstellen eines bootfähigen USB-Laufwerks für die Installation von Windows
Ich zeige Ihnen 4 Möglichkeiten, wie Sie einen bootfähigen USB-Stick erstellen können ... So verwenden Sie das Victoria-Programm
Das Victoria HDD-Programm ist so konzipiert, dass es voll funktionsfähig ist, ... Windows Performance Index oder was verlangsamt Ihren Computer?
Natürlich jedes Programm oder System, das nicht richtig funktioniert ... |