Posts by SiBl
-
-
Hallo Heiko,
vielen Dank für die weiteren Infos.
Ich habe jetzt mal versucht, einen Zeitstempel einzufügen. Komme aber irgendwie nicht klar.
Habe den Eindruck, das meine Umsetzung nicht greift.
Ich habe im Kontaktformular vor dem <html>-Tag die Session gestartet:Dann habe ich im Form-Tag <input type="hidden" name="date" value="<?php echo $formTime; ?>" /> hinzugefügt.
In der sendmail-Vorlage habe ich oben dann die Zeit-Abfrage eingefügt:
PHP
Display More<?php session_start(); $time_limit = 60; $suspect = false; if (isset($_SESSION['formTime']) && is_numeric($_SESSION['formTime'])) { $seconds_passed = time() - $_SESSION['formTime']; if ($seconds_passed < $time_limit) { $suspect = true; } } else { $suspect = true; } ?>
Habe ich da einen Denkfehler? Geht das überhaupt so?
Wenn die Umsetzung so nicht geht, würde ich mich ünber ein Bespiel oder einen Tipp freuen.Und innerhalb von we:ifFormToken habe ich das PHP-Script ergänzt.
PHP
Display More<we:ifFormToken> <we:setVar from="request" namefrom="formID" to="global" nameto="formularID"/> <we:listview type="document" id="\$formularID" rows="1"> <we:repeat> <we:field name="empfaengerAdress" to="global" nameto="destination" type="text"/> <we:field name="empfaengerAdressBCC" to="global" nameto="destinationBCC" type="text"/> </we:repeat> </we:listview> <?php if (filter_var($destination, FILTER_VALIDATE_EMAIL) === false) { echo("Kein Versand möglich"); } ?> <we:setVar from="request" namefrom="email" to="global" nameto="emailadresse"/> <we:sendMail from="xxx@yyy.de" recipient="\$destination" recipientBCC="\$destinationBCC" charset="UTF-8" id="7313" mimetype="text/html" reply="\$emailadresse" subject="Eine Nachricht von der Webseite" /> <we:else/> <p> Ein Fehler ist aufgetreten. </p> </we:ifFormToken>
Das Honeypot-Feld habe ich wie vorgeschlagen nun als Textarea eingefügt.
Die serverseitige Überprüfung fehlt noch. Mich würde auch interessieren, ob man die Überprüfung mit WE-Tags machen kann. Würde mich über ein Beispiel freuen.Grüße
Silvia
-
-
Hallo liebe we-Community,
ich habe ein Problem mit Formularen.
Die Formulare werden mit we:sendmail verschickt und funktionieren an sich einwandfrei. In letzter Zeit werden aber - immer um ca. 6 Uhr morgens - E-Mails über die Kontaktformulare verschickt, die ausschließlich die Zahl 1 als Inhalt haben (auch bei der E-Mailadresse steht dann mailto:1).
Ich habe das Formular mit Javascript abgesichert, sodass gecheckt wird, ob eine bzgl. Syntax gültige E-Mailadresse eingetragen wurde. Außerdem habe ich ein Honeypot-Feld implementiert (ich möchte ein captcha-Feld vermeiden, da es nicht barrierefrei ist). Und we:formToken habe ich auch eingefügt.Jetzt stellt sich die Frage, warum es überhaupt möglich ist, dass die E-Mails verschickt werden und ankommen, da ja keine gültige E-Mailadresse eingetragen wurde.
Ist es möglich, dass webEdition selbst die E-Mails abschickt?
Was könnte ich tun, damit solche E-Mails nicht mehr ankommen?Hier der Code des Formulars:
CSS
Display More<we:form id="7311" name="form1" class="o-form c-form" method="post" mimetype="text/html" onSubmit="return checkmail()"> <input type="hidden" name="formID" value="<we:DID />" /> <input type="hidden" name="we_ui_we_global_form[Anrede]" value="<we:var type="request" name="Anrede" />" /> <input type="hidden" name="we_ui_we_global_form[Titel]" value="<we:var type="request" name="Titel" />" /> <input type="hidden" name="we_ui_we_global_form[Vorname]" value="<we:var type="request" name="Vorname" />" /> <input type="hidden" name="we_ui_we_global_form[Nachname]" value="<we:var type="request" name="Nachname" />" /> <input type="hidden" name="we_ui_we_global_form[Nachricht]" value="<we:var type="request" name="Nachricht" />" /> <input type="hidden" name="we_ui_we_global_form[Strasse]" value="<we:var type="request" name="Strasse" />" /> <input type="hidden" name="we_ui_we_global_form[PLZ]" value="<we:var type="request" name="PLZ" />" /> <input type="hidden" name="we_ui_we_global_form[Ort]" value="<we:var type="request" name="Ort" />" /> <input type="hidden" name="we_ui_we_global_form[Telefon]" value="<we:var type="request" name="Telefon" />" /> <input type="hidden" name="we_ui_we_global_form[email]" value="<we:var type="request" name="email" />" /> <input type="hidden" name="we_ui_we_global_form[emailschutz]" value="<we:var type="request" name="emailschutz" />" /> <fieldset id="drk_orderform-fieldset-1" class="form-group o-form" data-parsley-excluded="[disabled]"> <div class="o-form__item"> Die mit einem Stern (<span class="rot">*</span>) markierten Felder sind Pflichtfelder. </div> <div class="t-medium-12 columns o-form__item"> <select tabindex="1" class="o-form__field o-form__field--select o-form__field o-form__field--select" id="Anrede" name="Anrede"> <option value=" " selected="selected"></option> <option value="Herr">Herr</option> <option value="Frau">Frau</option> </select> <label class="o-form__label" for="Anrede">Anrede</label> </div> <div class="t-medium-12 columns is-last-in-row o-form__item"> <select tabindex="2" class="o-form__field o-form__field--select o-form__field o-form__field--select" id="p_titel" name="Titel"> <option value="0" selected="selected"></option> <option value="Dr">Dr.</option> <option value="Prof">Prof.</option> </select> <label class="o-form__label" for="p_titel">Titel</label> </div> <div class="t-medium-12 columns o-form__item"> <input required maxlength="60" tabindex="3" class="o-form__field o-form__field--text" id="vorname" type="text" name="Vorname" title="Bitte Vorname eintragen"> <label class="o-form__label" for="vorname">Vorname<em><span class="rot">*</span></em></label> </div> <div class="t-medium-12 columns is-last-in-row o-form__item"> <input required maxlength="60" tabindex="4" class="o-form__field o-form__field--text" id="nachname" type="text" name="Nachname" title="Bitte Nachname eingeben"> <label class="o-form__label" for="nachname">Nachname<em><span class="rot">*</span></em></label> </div> <div class="t-medium-24 columns is-last-in-row o-form__item"> <input maxlength="60" tabindex="5" class="o-form__field o-form__field--text" type="text" name="Strasse" title="Bitte Straße und Hausnummer eintragen" id="strasse"> <label class="o-form__label" for="strasse">Straße / Nr.</label> </div> <div class="t-medium-5 columns o-form__item"> <input minlength="5" maxlength="5" tabindex="6" pattern="[0-9]+" class="o-form__field o-form__field--text" id="plz" type="text" name="PLZ" title="Bitte Postleitzahl eintragen"> <label class="o-form__label" for="plz">PLZ</label> </div> <div class="t-medium-19 columns is-last-in-row o-form__item"> <input maxlength="60" tabindex="7" class="o-form__field o-form__field--text" id="ort" type="text" name="Ort" title="Bitte Ort eintragen"> <label class="o-form__label" for="ort">Ort</label> </div> <div class="t-medium-24 columns is-last-in-row o-form__item"> <input maxlength="20" tabindex="8" pattern="[0-9]+" class="o-form__field o-form__field--text" id="tel" type="tel" name="Telefon"> <label class="o-form__label" for="tel">Telefon</label> </div> <div class="t-medium-24 columns is-last-in-row o-form__item"> <input maxlength="128" tabindex="9" class="o-form__field o-form__field--text form-control" type="email" name="email" title="Bitte Email eintragen" id="email" required> <label class="o-form__label" for="email">E-Mail<em><span class="rot">*</span></em></label> </div> <div class="t-medium-24 columns is-last-in-row o-form__item"> <textarea placeholder="Ihre Mitteilung an uns" tabindex="10" class="o-form__field o-form__field--textarea" name="Nachricht" id="nachricht" style="height:237px;overflow-y:hidden;" required></textarea> <label class="o-form__label" for="nachricht">Nachricht<em><span class="rot">*</span></em></label> </div> <span class="unsichtbar"> <label for="emailschutz">Das folgende Feld muss leer bleiben:</label> <input type="text" name="emailschutz" id="emailschutz" title="Dieses Feld darf nicht ausgefüllt werden " /> </span> <div class="t-medium-24 columns is-last-in-row o-form__item"> <label for="Einwilligung">Einwilligung<em><span class="rot">*</span></em>:</label><br/> <input tabindex="11" type="checkbox" name="Einwilligung" value="Ich stimme einer elektronischen Speicherung und Verarbeitung meiner eingegebenen Daten zu." class="o-check-group__option o-check-group__option" required /> Ich habe die <we:a edit="document" id="1079">Datenschutzerklärung</we:a> zur Kenntnis genommen. Ich stimme einer elektronischen Speicherung und Verarbeitung meiner eingegebenen Daten zur Beantwortung meiner Anfrage zu. <br /><br /> </div> </fieldset> <div class="actions"> <nav class="form-navigation"> <div class="btn-toolbar" role="toolbar"> <div class="btn-group" role="group"> <we:formToken lifetime="20" /> <span class="btn-group next submit" style="float: left; margin-right: 1em;width: 45%;"><input tabindex="12" class="button" type="submit" name="abschicken" value="Abschicken"></span> <input tabindex="13" class="button" style="width:45% !important;" type="reset" name="loeschen" value="Löschen"> </div> </div> </nav> </div> </we:form>
Und hier der Teil der Vorlage mit sendmail:
Code
Display More<we:ifFormToken> <we:setVar from="request" namefrom="formID" to="global" nameto="formularID"/> <we:listview type="document" id="\$formularID" rows="1"> <we:repeat> <we:field name="empfaengerAdress" to="global" nameto="destination" type="text"/> <we:field name="empfaengerAdressBCC" to="global" nameto="destinationBCC" type="text"/> </we:repeat> </we:listview> <we:setVar from="request" namefrom="email" to="global" nameto="emailadresse"/> <we:sendMail from="xxx@yyy.de" recipient="\$destination" recipientBCC="\$destinationBCC" charset="UTF-8" id="7313" mimetype="text/html" reply="\$emailadresse" subject="Eine Nachricht von der Webseite" /> <we:else/> <p> Ein Fehler ist aufgetreten. </p> </we:ifFormToken>
Würde mich freuen, wenn mir jemand einen Tipp hat.
LG
Silvia -
Hallo Finn,
ganz herzlichen Dank für die Info. Das hilft mir schon mal weiter.
Ich werde es ausprobieren.LG
Silvia
-
Hallo zusammen,
ich hänge mich mal an die Frage zum Thema SMTP-Eintrag an.
Ein Kunde hat mir mitgeteilt, dass bei ihm der E-Mailversand auf Microsoft 365 umgestellt wird.
Gibt es da Probleme beim Versand über SMTP-Server. Oder anders gefragt: muss ich bei den Einstellungen unter "Benutze SMTP-Server" etwas beachten?
Freue mich über eine Info.LG
Silvia
-
Großartig!!! Jetzt funktioniert es
.
Danke euch beiden für den klasse Support!!!
Liebe Grüße
Silvia
-
Hallo Ihr beiden,
das hier wird ausgelesen (habe zum Testen nur drei hidden-Fields eingetragen):
Code
Display MoreArray ( [we_ui_we_global_form] => Array ( [formID] => [Vorname] => [Nachname] => [Nachricht] => ) [Anrede] => [Titel] => [Vorname] => Max [Nachname] => Muster [Strasse] => [PLZ] => [Ort] => [Telefon] => [email] => ewew@dsd.de [Emailschutz] => [Nachricht] => Nur ein Test [Einwilligung] => Ich stimme einer elektronischen Speicherung und Verarbeitung meiner eingegebenen Daten zu. [sent] => Abschicken [securityToken] => 4da60c30690575de9f5c2c73c5879b4f )
LG
Silvia
-
Hallo Sascha,
nein, auch diese werden nicht ausgegeben.
LG
Silvia -
Hallo Ihr beiden,
vielen Dank für euern Support.
Habe jetzt wieder die Variable in der Listview und auch den Test gemacht, ob überhaupt die Variablen ausgegeben werden.
Das ist leider nicht der Fall. Es wird offensichtlich keine Dokumenten-ID von der Formular-Seite übertragen.
Hier nochmal der Test-Code von der Versand-Seite:
Code
Display More<we:setVar from="request" namefrom="we_ui_we_global_form[formID]" to="global" nameto="formID"/> <we:listview type="document" id="\$formID" rows="1"> <we:repeat> <we:field name="empfaengerAdress" to="global" nameto="destination" type="text"/> </we:repeat> </we:listview> <pre> formID: <we:var type="global" name="formID" /> <br/> destination: <we:var type="global" name="destination" /> </pre> <we:sendMail id="845" subject="Eine Nachricht von der Webseite" recipient="\$destination" from="absender@domain.de" mimetype="text/html" reply="info@test.de" charset="UTF-8" />
Oh je, bin ratlos, warum die ID nicht übergeben wird.
Liebe Grüße
Silvia -
Jetzt habe ich nochmal eine Änderung im Versand-Template gemacht.
Hier der Code:Code
Display More<we:setVar from="request" namefrom="we_ui_we_global_form[formID]" to="global" nameto="formID"/> <we:listview type="document" id="\$formID" rows="1"> <we:repeat> <we:field name="empfaengerAdress" type="text"/> </we:repeat> </we:listview> <we:setVar to="global" nameto="destination" from="listview" typefrom="text" namefrom="empfaengerAdress" /> <we:sendMail id="845" subject="Eine Nachricht von der Webseite" recipient="\$destination" from="absender@domain.de" mimetype="text/html" reply="info@test.de" charset="UTF-8" />
Jetzt kommt zwar keine Meldung mehr, dass das Attribut recipient im Tag nicht fehlen darf usw. ,
Die E-Mail kommt aber nicht an und im Fehlerlog steht:
CodeError while sending mail: --------------------------------------------------- we_exception_mail Object ( [message:protected] => No recipient forward path has been supplied
Es wird also offensichtlich irgendetwas bei we:Sendmail in den recipeint eingtragen, aber nicht das richtige.
LG
Silvia
-
Hallo Sascha,
ganz herzlichen Dank für Deine Hilfe.
Habe das jetzt mal so eingebaut, aber es geht noch nicht.
Im Formular habe ich das Textfeld, in das die Empfängeradresse eingetragen wird im Editmode stehen. Es ist doch richtig, dass ich das Feld nicht als hidden-Field übergeben muss, wenn die Dokumenten-ID übetragen wird und das Feld auf der Folgeseite ausgelesen wird, oder?Hier der Anfang des Formulars:
Code
Display More<we:ifEditmode> [Geben Sie hier die Adresse an, an die das Kontaktformular gesendet werden soll. <br /> <we:textarea name="empfaengerAdress" width="400" height="50" wysiwyg="false" /> </we:ifEditmode> <we:ifNotWebEdition> <we:form id="844" name="form1" class="mt-3" method="post" mimetype="text/html" onSubmit="return checkmail()"> <input type="hidden" name="we_ui_we_global_form[formID]" value="<we:DID doc="self" to="global" nameto="DID"/>" /> <input type="hidden" name="we_ui_we_global_form[Vorname]" value="<we:var type="request" name="Vorname" />" /> <input type="hidden" name="we_ui_we_global_form[Nachname]" value="<we:var type="request" name="Nachname" />" /> <input type="hidden" name="we_ui_we_global_form[Nachricht]" value="<we:var type="request" name="Nachricht" />" />
Und auf der Versandseite habe ich es nun so:
Code<we:setVar from="request" namefrom="we_ui_we_global_form[formID]" to="global" nameto="formID"/> <we:listview type="document" id="\$formID" rows="1"> <we:repeat> <we:field name="empfaengerAdress" type="text" to="global" nameto="destination"/> </we:repeat> </we:listview> <we:sendMail id="845" subject="Eine Nachricht von der Webseite" recipient="\$destination" from="absender@domain.de" mimetype="text/html" reply="info@test.de" charset="UTF-8" />
Wenn ich nun das Formular abschicke, erhalte ich die Meldung "Das Attribut `recipient` im Tag darf nicht fehlen oder leer sein!"
Eigentlich müsste es doch dann stimmen, wenn recipient="\$destination" eingetragen ist, oder?
Was könnte noch falsch sein?Liebe Grüße
Silvia
-
Hallo Finn, hallo Sascha,
vielen Dank - diesen Ansatz würde ich gerne umsetzen.
Ich habe auch schon Verschiedenes ausprobiert, leider ohne Erfolg.
Ich würde mich sehr über ein Code-Beispiel freuen:
wie übertrage ich die Dokumenten ID vom Formular zur empfangenen Seite, wie wird das Feld der Empfängeradresse ausgelesen und wie gelangt dies dann zum recipient im we:sendMail?Sorry, ich habe das noch nie gemacht
und hoffe auf eure Hilfe.
LG
-
Hallo Finn,
vielen Dank für Deine Hilfe.
Leider funktioniert es bei mir nicht.
Wenn ich den PHP-Code einfüge, wird alles, was danach kommt nicht mehr angezeigt. Was mache ich falsch?
Hier nochmal der Code vom Anfang des Formulars von Variante 1:PHP
Display More<we:ifEditmode> [Geben Sie hier die Adresse an, an die das Kontaktformular gesendet werden soll. <br /> <we:textarea name="contact_recipient" width="400" height="50" wysiwyg="false" /> </we:ifEditmode> <?php $enc_email = EnCrypt_mailaddress(trim($GLOBALS['enc_email'])); ?> <we:ifNotWebEdition> <we:form id="844" name="form1" class="mt-3" method="post" mimetype="text/html" onSubmit="return checkmail()"> <input type="hidden" name="fo[contact_recipient]" value="<?php echo $enc_email; ?>" /> <input type="hidden" name="we_ui_we_global_form[Vorname]" value="<we:var type="request" name="Vorname" />" /> <input type="hidden" name="we_ui_we_global_form[Nachname]" value="<we:var type="request" name="Nachname" />" /> <input type="hidden" name="we_ui_we_global_form[Nachricht]" value="<we:var type="request" name="Nachricht" />" />
Wie könnte ich denn den zweiten Ansatz mit der Übertragung der Dokumemnten-ID und Auslesen des Feldes auf der empfangenen Seite umsetzen?
Freue mich über weitere Hilfe.
Beste Grüße
Silvia
-
Hallo allerseits,
stehe auf'm Schlauch. Wahrscheinlich ist mein Problem schnell zu lösen:
Bisher habe ich Kontaktformulare immer mit formmail umgesetzt. Da es bei Ionos Probleme gibt, uund keine E-Mails mehr ankamen, möchte ich nun die Kontakformulare mit sendmail umsetzen. Das funktioniert alles gut.
Ich habe eine Seite mit dem Formular erstellt, eine Seite mit den we:sendmail-Angaben und eine Seite für die E-Mail-Darstellung.
Jetzt ist es so, dass es mehrere Kontaktformulare gibt und der Redakteur die jeweilige Empfängeradresse im Editmode einträgt. Diese Empfängeradresse, die ja auf der ersten Seite eingetragen wird, möchte ich ins we:sendmail bei recipient übertragen.Hier der Anfang des Formulars
Code
Display More<we:ifEditmode> [Geben Sie hier die Adresse an, an die das Kontaktformular gesendet werden soll. Bitte beachten: <font color="#ff0000">Diese Adresse muss auch in webEdition unter "Einstellungen/Allgemein" unter dem Reiter "Formmail" eingetragen werden, damit der Versand auch funktioniert.]</font><br /> <we:input name="empfaengerAdress" type="text" size="60" value="mail@IhreAdresse.de" /> </we:ifEditmode> <we:setVar to="global" nameto="destination" from="top" namefrom="empfaengerAdress" /> <we:ifEditmode> <br /><br />[Geben Sie hier den Betreff an, der in der abgesandten Mail erscheinen soll.]<br /> <we:input name="betreffText" type="texte" size="60" value="Anfrage über Kontaktformular" /><br /><br /> </we:ifEditmode> <we:setVar to="global" nameto="betreff" from="top" namefrom="betreffText" /> <we:ifNotWebEdition> <we:form id="844" name="form1" class="mt-3" method="post" mimetype="text/html" onSubmit="return checkmail()"> <input type="hidden" name="we_ui_we_global_form[\$destination]" value="<we:var type="request" name="\$destination" />" /> <input type="hidden" name="we_ui_we_global_form[Vorname]" value="<we:var type="request" name="Vorname" />" /> <input type="hidden" name="we_ui_we_global_form[Nachname]" value="<we:var type="request" name="Nachname" />" /> <input type="hidden" name="we_ui_we_global_form[Nachricht]" value="<we:var type="request" name="Nachricht" />" />
Und hier der Code der zweiten Seite:
Code<we:sendMail id="845" subject="Eine Nachricht von der Webseite" recipient="\$destination" from="\$destination" reply="\$destination" mimetype="text/html" charset="UTF-8" />
Beim Abschicken erhalte ich immer die Fehlermeldung, dass recipient und from-Angaben fehlen.
Wie schaffe ich es, dass diese Angaben aus der ersten Seite übernommen werden?
Freue mich über einen Tipp.VG
Silvia
-
Hallo Sascha,
super, das ist eine geniale Lösung. So hat es geklappt. Ich habe nun aber tatsächlich für jedes Level ein separates Navi-Template gebaut und jetzt funktioniert alles.
Ganz herzlichen Dank für die tolle Unterstützung!LG
Silvia
-
Hallo Sascha,
jetzt hat's eine Weile gedauert, bis ich hier weitermachen konnte.
Vielen Dank für Deinen Tipp. Damit bin ich einen großen Schritt weiter gekommen.
Allerdings bringt mich die Navigation trotzdem noch zum Verzweifeln.
Es ist nun so, dass sie wunderbar funktioniert, solange ich Seiten auf Level 1 öffne.
Wenn ich eine Übersichtsseite von Level 2 öffne oder eine Seite von Level 3, dann steht oben (im grün markierten Rahmen) immer der Navigationspunkt "Angebote".
Hier ein Bild zur Verdeutlichung, wie es sein sollte:"Wohnen und Betreuung" ist der Folder von Level 2. Klappt man die Navi dann auf, sieht man die Unterpunkte aus Level 3 dieses Folders. Öffnet man dann eine Seite der dritten Ebene, ändert sich der "Hauptnavigationspunkt" in den Item-Namen und wenn man dann wieder die Navi aufklappt, sieht man wieder die Unterpunkte von Level 3.
Hier auch ein Bild dazu
Ich habe nun schon versucht, mit verschiedenen Navigations-Templates zu arbeiten und beispielsweise für die Übersichtsseiten von Level 2 die Navigation erst ab Level 2 anzeigen zu lassen, dann wird aber gar nichts mehr dargestellt.
Hier noch den jetzigen Stand der Navigation:
Code
Display More<we:navigation navigationname="mainNav" parentid="204"/> <we:navigationEntry type="folder" navigationname="mainNav"></we:navigationEntry> <we:navigationEntry type="item" navigationname="mainNav"></we:navigationEntry> <!--1. Navigationsebene--> <we:navigationEntry type="folder" navigationname="mainNav" current="false" ></we:navigationEntry> <we:navigationEntry type="folder" navigationname="mainNav" current="true" > <div class="sub-menu__bar"> <button class="sub-menu__topic-button" aria-label="Öffne Untermenü"> <span> <svg width="12" height="12" aria-hidden="true"><use href="/we_images/svg/general-sprite.svg#chevron"></use></svg> <we:navigationField name="text" /> </span> </button> </div> <we:ifHasEntries> <div class="sub-menu__nav-wrap" style="visibility: hidden"> <nav class="sub-menu__nav" aria-label="Untermenü"> <div class="sub-menu__list-wrap"> <ul class="sub-menu__list" style="display: block;"> <we:navigationEntries comment="um level 2 auszugeben" /> </ul> </div> </nav> </div> </we:ifHasEntries> </we:navigationEntry> <!--Ende 1. Navigationsebene--> <!--2. Navigationsebene--> <we:navigationEntry type="folder" navigationname="mainNav" level="2" current="false"> <li class="sub-menu__item visible" style="display: block;"> <button class="sub-menu__button sub-menu__button--next" style="display: flex;"> <we:navigationField name="text" /> <svg width="10" height="7" aria-hidden="true"><use href="/we_images/svg/general-sprite.svg#chevron"></use></svg> </button> <we:ifHasEntries> <ul class="sub-menu__list" style="display: none"> <li class="sub-menu__item" style="display: none"> <button class="sub-menu__button sub-menu__button--back"> <svg width="10" height="7" aria-hidden="true"><use href="/we_images/svg/general-sprite.svg#chevron"></use></svg> zurück </button> </li> <li class="sub-menu__item" style="display: none"> <a href="<we:navigationField name="href" />"<we:navigationField name="text" /> style="display: none" class="sub-menu__link"> <span class="sub-menu__overview-label">Übersichtsseite</span> <span class="sub-menu__link-label"><we:navigationField name="text" /></span> </a> </li> <we:navigationEntries comment="um level 3 auszugeben" /> </ul> </we:ifHasEntries> </li> </we:navigationEntry> <we:navigationEntry type="folder" navigationname="mainNav" level="2" current="true"> <li class="sub-menu__item visible" style="display: block;"> <button class="sub-menu__button sub-menu__button--next" style="display: flex;"> <we:navigationField name="text" /> <svg width="10" height="7" aria-hidden="true"><use href="/we_images/svg/general-sprite.svg#chevron"></use></svg> </button> <we:ifHasEntries> <ul class="sub-menu__list" style="display: none"> <li class="sub-menu__item" style="display: none"> <button class="sub-menu__button sub-menu__button--back"> <svg width="10" height="7" aria-hidden="true"><use href="/we_images/svg/general-sprite.svg#chevron"></use></svg> zurück </button> </li> <li class="sub-menu__item" style="display: none"> <a href="<we:navigationField name="href" />"<we:navigationField name="text" /> style="display: none" class="sub-menu__link"> <span class="sub-menu__overview-label">Übersichtsseite</span> <span class="sub-menu__link-label"><we:navigationField name="text" /></span> </a> </li> <we:navigationEntries comment="um level 3 auszugeben" /> </ul> </we:ifHasEntries> </li> </we:navigationEntry> <!--Ende 2. Navigationsebene--> <!--3. Navigationsebene--> <we:navigationEntry type="item" navigationname="mainNav" level="3" current="false"> <li class="sub-menu__item visible" style="display: block;"> <a style="display: block;" class="sub-menu__link" href="<we:navigationField name="href"/>"> <span class="sub-menu__link-label"><we:navigationField name="text" /></span> </a> </li> </we:navigationEntry> <we:navigationEntry type="item" navigationname="mainNav" level="3" current="true" > <li class="sub-menu__item visible" style="display: block;"> <a style="display: block;" class="sub-menu__link" href="<we:navigationField name="href"/>"> <span class="sub-menu__link-label"><we:navigationField name="text" /></span> </a> </li> </we:navigationEntry> <!--Ende 3. Navigationsebene--> <we:navigationWrite navigationname="mainNav"/>
Wie erwähnt, kann man die Navigation, wie sie funktionieren soll, hier ausprobieren: https://kv-muster.drk-intern.de/
Ich würde mich über weitere Tipps sehr freuen.
LG,
Silvia -
Hallo Sascha,
durch Deinen Hinweis bin ich einen kleinen Schritt weiter - vielen Dank! Das Zusammenfassen der Navigationen hat schon mal etwas gebracht.
Jetzt bin ich soweit, dass Level 2 bei Klick auf den aktiven Punkt bei Level 1 angezeigt wird. Man kann auch auf den Link klicken und gelangt zu dem Bereich, wo dann eigentlich die Links von Level 3 gezeigt werden müssten. Leider werden diese Links aber nicht ausgegeben. Im Screenshot sieht man, dass der angezeigte Bereich in <we:navigationEntry type="folder" navigationname="mainNav" level="2" current="false"> liegt.
Hier noch ein paar Hinweise zu Deinem Vorschlag:
- Bei Level 1 musste ich den ersten Teil weglassen, denn sonst hätte sich das Klappmenü gar nicht geöffnet und auch der Link-Text wurde nicht angezeigt.
- Bei Level 2 musste ich im Bereich level="2" current="false" noch den gesamten Code von <we:ifHasEntries> hinzufügen, denn sonst wurde nur eine leere weiße Fläche angezeigt
- Die Navigation ist bei mir mit drei Ebenen aufgebaut. Die ersten zwei Ebenen sind als Ordner angelegt und die der dritten Ebene als Einträge. Deshalb habe ich im Code in der 3. Navigationsebene type="item" gewählt und <we:ifHasEntries> weggelassen.
Hier der momentane Code:
Code
Display More<we:navigation navigationname="mainNav" parentid="204"/> <we:navigationEntry type="folder" navigationname="mainNav"></we:navigationEntry> <we:navigationEntry type="item" navigationname="mainNav"></we:navigationEntry> <!--1. Navigationsebene--> <we:navigationEntry type="folder" navigationname="mainNav" current="true"> <div class="sub-menu__bar"> <button class="sub-menu__topic-button" aria-label="Öffne Untermenü von <we:navigationField attributes="title" />"> <span> <svg width="12" height="12" aria-hidden="true"><use href="/we_images/svg/general-sprite.svg#chevron"></use></svg> <we:navigationField name="text" /> </span> </button> </div> <we:ifHasEntries> <div class="sub-menu__nav-wrap" style="visibility: hidden"> <nav class="sub-menu__nav" aria-label="Untermenü von <we:textarea wysiwyg="false" name="ueberschrift" htmlspecialchars="true" />"> <div class="sub-menu__list-wrap"> <ul class="sub-menu__list" style="display: block;"> <we:navigationEntries comment="um level 2 auszugeben" /> </ul> </div> </nav> </div> </we:ifHasEntries> </we:navigationEntry> <!--Ende 1. Navigationsebene--> <!--2. Navigationsebene--> <we:navigationEntry type="folder" navigationname="mainNav" level="2" current="false"> <li class="sub-menu__item visible" style="display: block;"> <button class="sub-menu__button sub-menu__button--next" style="display: flex;"> <we:navigationField name="text" /> <svg width="10" height="7" aria-hidden="true"><use href="/we_images/svg/general-sprite.svg#chevron"></use></svg> </button> <we:ifHasEntries> <ul class="sub-menu__list" style="display: none"> <li class="sub-menu__item" style="display: none"> <button class="sub-menu__button sub-menu__button--back"> <svg width="10" height="7" aria-hidden="true"><use href="/we_images/svg/general-sprite.svg#chevron"></use></svg> zurück (Bereich level="2" current="false") </button> </li> <li class="sub-menu__item" style="display: none"> <a href="<we:navigationField name="href" />"<we:navigationField name="text" /> style="display: none" class="sub-menu__link"> <span class="sub-menu__overview-label">Übersichtsseite</span> <span class="sub-menu__link-label"><we:navigationField name="text" /></span> </a> </li> <we:navigationEntries comment="um level 3 auszugeben" /> </ul> </we:ifHasEntries> </li> </we:navigationEntry> <we:navigationEntry type="folder" navigationname="mainNav" level="2" current="true"> <li class="sub-menu__item visible" style="display: block;"> <button class="sub-menu__button sub-menu__button--next" style="display: flex;"> <we:navigationField name="text" /> <svg width="10" height="7" aria-hidden="true"><use href="/we_images/svg/general-sprite.svg#chevron"></use></svg> </button> <we:ifHasEntries> <ul class="sub-menu__list" style="display: none"> <li class="sub-menu__item" style="display: none"> <button class="sub-menu__button sub-menu__button--back"> <svg width="10" height="7" aria-hidden="true"><use href="/we_images/svg/general-sprite.svg#chevron"></use></svg> zurück </button> </li> <li class="sub-menu__item" style="display: none"> <a href="<we:navigationField name="href" />"<we:navigationField name="text" /> style="display: none" class="sub-menu__link"> <span class="sub-menu__overview-label">Übersichtsseite</span> <span class="sub-menu__link-label"><we:navigationField name="text" /></span> </a> </li> <we:navigationEntries comment="um level 3 auszugeben" /> </ul> </we:ifHasEntries> </li> </we:navigationEntry> <!--Ende 2. Navigationsebene--> <!--3. Navigationsebene--> <we:navigationEntry type="item" navigationname="mainNav" level="3" current="true" > <li class="sub-menu__item visible" style="display: block;"> <a style="display: block;" class="sub-menu__link" href="<we:navigationField name="href"/>"> <span class="sub-menu__link-label"><we:navigationField name="text" /></span> </a> </li> </we:navigationEntry> <!--Ende 3. Navigationsebene--> <we:navigationWrite navigationname="mainNav"/>
Und dann stehe ich noch vor einem weiteren Problem: Denn auf der Musterseite https://kv-muster.drk-intern.de sieht man, dass in dem Balken, der das Klappmenü aufklappt bei der Darstellung einer Einzelseite (Level 3) der Navigationseintrag dieser Seite steht.
Bei mir steht bei einer Level 3-Seite immer der Eintrag von Level 1 - was eigentlich logisch ist. Nur wie schaffe ich es, dass dann auf der Einzelseite der Navi-Eintrag der Seite steht?
Sorry, dass ich nochmal frage, aber ich komme nicht dahinter, warum die Level 3-Einträge gar nicht angezeigt werden.
Vielen Dank für Deine Hilfe!
Grüße
Silvia
-
Hallo Sascha,
vielen Dank für Deine Mühe. Ich habe es nun ausprobiert. Leider funktioniert das auch nicht.
Nun wird bei Klick auf "Angebote" wieder Level 1 ausgegeben und davon aber nur der aktive Navigationspunkt.
Bei Klick auf das "Angebote" im Klappmenü erscheinen dann wie gewünscht die Menüpunkte von Level 2 (die ja eigentlich ein Schritt vorher angezeigt werden sollten). Klickt man dann auf einen Punkt bei Level 2, werden die Navigationspunkte von Level 3 gar nicht mehr angezeigt. Die Angabe level="2" current="false" oder level="2" current="true" scheinen hier nicht zu wirken.
Hier der Code dazu:
Code
Display More<div class="sub-menu__bar"> <button class="sub-menu__topic-button" aria-label="Öffne Untermenü von <we:navigationField attributes="title" />"> <span> <svg width="12" height="12" aria-hidden="true"><use href="/we_images/svg/general-sprite.svg#chevron"></use></svg> <we:navigation navigationname="breadcrumb" parentid="204" /> <we:navigationEntry type="folder" navigationname="breadcrumb"></we:navigationEntry> <we:navigationEntry type="folder" navigationname="breadcrumb" current="true"> <we:navigationField name="text" /> </we:navigationEntry> <we:navigationWrite navigationname="breadcrumb" /> </span> </button> </div> <we:navigation navigationname="untermenue" parentid="204"/> <we:navigationEntry type="folder" navigationname="untermenue"></we:navigationEntry> <we:navigationEntry type="item" navigationname="untermenue"></we:navigationEntry> <!--1. Navigationsebene--> <we:navigationEntry type="folder" navigationname="untermenue" level="1" current="true"> <li class="sub-menu__item visible" style="display: block;"> <button class="sub-menu__button sub-menu__button--next" style="display: flex;"> <we:navigationField name="text" /> <svg width="10" height="7" aria-hidden="true"><use href="/we_images/svg/general-sprite.svg#chevron"></use></svg> </button> <we:ifHasEntries> <ul class="sub-menu__list" style="display: none"> <li class="sub-menu__item" style="display: none"> <button class="sub-menu__button sub-menu__button--back"> <svg width="10" height="7" aria-hidden="true"><use href="/we_images/svg/general-sprite.svg#chevron"></use></svg> zurück </button> </li> <li class="sub-menu__item visible" style="display: block;"> <button class="sub-menu__button sub-menu__button--next" style="display: flex;"> <a href="<we:navigationField name="href" />"<we:navigationField name="text" /> style="display: block;" class="sub-menu__link"> <span class="sub-menu__overview-label">Übersichtsseite</span> <span class="sub-menu__link-label"><we:navigationField name="text" /></span> </a> </li> <we:navigationEntries comment="um level 2 auszugeben" /> </ul> </we:ifHasEntries> </li> </we:navigationEntry> <!--Ende 1. Navigationsebene--> <!--2. Navigationsebene--> <we:navigationEntry type="folder" navigationname="untermenue" level="2" current="false"> <li class="sub-menu__item visible" style="display: block;"> <button class="sub-menu__button sub-menu__button--next" style="display: flex;"> <we:navigationField name="text" /> <svg width="10" height="7" aria-hidden="true"><use href="/we_images/svg/general-sprite.svg#chevron"></use></svg> </button> </li> </we:navigationEntry> <we:navigationEntry type="folder" navigationname="untermenue" level="2" current="true"> <li class="sub-menu__item visible" style="display: block;"> <button class="sub-menu__button sub-menu__button--next" style="display: flex;"> <we:navigationField name="text" /> <svg width="10" height="7" aria-hidden="true"><use href="/we_images/svg/general-sprite.svg#chevron"></use></svg> </button> <we:ifHasEntries> <ul class="sub-menu__list" style="display: none"> <li class="sub-menu__item" style="display: none"> <button class="sub-menu__button sub-menu__button--back"> <svg width="10" height="7" aria-hidden="true"><use href="/we_images/svg/general-sprite.svg#chevron"></use></svg> zurück </button> </li> <li class="sub-menu__item visible" style="display: block;"> <button class="sub-menu__button sub-menu__button--next" style="display: flex;"> <a href="<we:navigationField name="href" />"<we:navigationField name="text" /> style="display: block;" class="sub-menu__link"> <span class="sub-menu__overview-label">Übersichtsseite</span> <span class="sub-menu__link-label"><we:navigationField name="text" /></span> </a> </li> <we:navigationEntries comment="um level 3 auszugeben" /> </ul> </we:ifHasEntries> </li> </we:navigationEntry> <!--Ende 2. Navigationsebene--> <div class="sub-menu__nav-wrap" style="visibility: hidden"> <nav class="sub-menu__nav" aria-label="Untermenü von <we:textarea wysiwyg="false" name="ueberschrift" htmlspecialchars="true" />"> <div class="sub-menu__list-wrap"> <ul class="sub-menu__list" style="display: block;"> <we:navigationWrite navigationname="untermenue"/> </ul> </div> </nav> </div>
Ich bin irgendwie ratlos. Gib es noch eine Idee, wie ich die Navigation funktionsfähig machen kann?
Bin für jeden Hinweis dankbar.
Viele GrüßeSilvia
-
Hier zur Verdeutlichung zwei Screenshots:
Die Navigation, wie sie sein soll (Beispiel https://kv-muster.drk-intern.de/angebote.html)Und ein Screenshot aus meiner Entwicklungsumgebung (navi_falsch.jpg)
Nur zur Info: die Unternavigation unterscheidet sich bei mir. Es gibt also nicht Alltagshilfen usw., sondern Rettungsdienst, Gesundheit und Pflege usw.. Diese Links müssten in der Unternavigation erscheinen, aber es erscheinen immer nur die Hauptpunkte.