Willkommen im neuen Forum von concrete5.de.
Die Anmeldung ist ab dem 15.10.2020 nur noch mit E-Mail Adresse und Passwort möglich. Eine Anmeldung mit Benutzername ist nicht mehr möglich.

Diese Nachricht löschen.
Anhang entfernen?
Zurück zur Themenliste
G
GrafFoto 0.png 22.10.2015 10:28

C5.7 HTML Editor - Code wird automatisch ergänzt

Hallo. Ich möchte etwas eigentlich ganz einfaches umsetzen. 1. Block - HTML Block ein einfacher DIV Anker: 2. und 3. Block - beliebige Inhalte 4. Block - HTML Block - DIV beenden Leider macht mir der HTML Editor einen Strich durch die Rechnung. Der Editor verändert meinen Code ungefragt indem er in Block 1 das DIV automatisch beendet, also: Meiner Ansicht nach sollte ein HTML Editor überhaupt gar nichts automatisch machen. Aber hat vielleicht jemand eine Idee, wie man dieses Verhalten abstellen kann. Im offiziellen Forum habe ich auch schon angefragt, habe aber leider keine Antwort erhalten.
R
Remo 0.png 22.10.2015 21:17
Ja, ich stimme dem zu, bin aber nicht sicher ob das jeder so sieht. Dein Anwendungsfall ist wohl eher die Ausnahme, aber sicherlich verständlich. Ohne es getestet zu haben, ich hätte in dieser Zeile: https://github.com/concrete5/concrete5/blob/develop/web/concrete/blocks/html/form_setup_html.php#L17 folgendes ergänzt: editor.setBehavioursEnabled(false) Natürlich solltest du nie direkt die Datei im Core überschreiben, aber zum Testen kannst du's ja mal machen..
G
GrafFoto 0.png 23.10.2015 10:46
Hallo Remo. Danke für die Antwort. Ich habe mir die Datei in den application-Ordner gezogen. Um sicher zu gehen, dass die Datei verwendet wird, habe ich extra die Rahmenfarbe, die dort definiert wird, geändert. Klappt soweit ... Leider bringt deine Änderung nichts, das DIV wird weiterhin ungefragt geschlossen. Ich habe die Zeile hier eingefügt: editor.setTheme("ace/theme/eclipse"); editor.setBehavioursEnabled(false); editor.getSession().setMode("ace/mode/html"); Ideal wäre sicherlich im Editor ein Schalter, um das an- bzw. abzuschalten. Ich denke, dass es nicht so ganz selten vorkommt, dass jemand einen Code in Block 1 beginnt und in Block 2 beendet. Ich wäre dir sehr dankbar, wenn du dich dieses Problems noch mal annehmen könntest. Meine Fähigkeiten reichen dafür nicht aus und ich kenne auch niemanden sonst, der das lösen könnte ... wenn es den Rahmen der Forumhilfe sprengt gerne auch kostenpflichtig.
R
Remo 0.png 23.10.2015 12:05
Ich hab nochmals mit setOptions getestet, bei mir reicht aber setBehavioursEnabled aus, aber.. var editor = ace.edit("ccm-block-html-value"); editor.setTheme("ace/theme/eclipse"); editor.getSession().setMode("ace/mode/html"); editor.setBehavioursEnabled(false); //editor.setOptions({enableBasicAutocompletion: false, enableLiveAutocompletion: false}); refreshTextarea(editor.getValue()); editor.getSession().on('change', function() { refreshTextarea(editor.getValue()); }); Das setOptions aktivieren um noch mehr zu deaktivieren, allerdings mag concrete5 ein offenes DIV nicht wirklich. Der Inline Editing Modus wrappt gewisse HTML Elemente um all das zu ermöglichen. Wenn du nun ein offenes DIV hast, dann hat das ein paar Nebeneffekte die du nicht willst. Man könnte ev. im Bearbeitungsmodus die Ausgabe deaktivieren und das halbe Tag nur für Gäste anzeigen, dazu wäre aber wohl ein eigener Block erforderlich. Ev. kannst du aber ja auch den eigentlichen Block dazu bringen das zu machen was du willst? Einen Anker um beliebige Tags setzen generiert wohl schnell ungültigen Code, von daher wäre mein Ansatz eher den Block anzupassen. Kannst du beschreiben was du denn erreichen willst?
G
GrafFoto 0.png 23.10.2015 12:46
Im Grunde möchte ich für die Startseite einen Onepager nachbauen, etwa so: http://onepager.siegmann.ws/ Über Buttonlinks sollen dann aber etliche weitere Seiten erreichbar sein, sonst würde ich das gleich nur in HTML umsetzen. Ich brauche also für jede Sektion einen Anker DIV zur Verlinkung, aber auch um dafür zu sorgen, dass der Inhalt, der von dem DIV umschlossen wird, immer den Bildschirm in der Höhe ganz ausfüllt. Solange es nur um einen Absatz geht, der innerhalb des DIV liegt, kann ich das (zumindest bei Text/Foto) im Editor eingeben (wobei der sich auch seltsam verhält, weil er eingegebenen HTML Code beim erneuten Aufruf in der HTML Ansicht nicht mehr anzeigt, obwohl er im Quellcode sichtbar ist?! ... Aber das ist ein anderes Thema). Aber wie bekomme ich folgendes Konstrukt hin ohne die Modifikation im HTML Block: DIV Anker öffen Textabsatz Slider DIV Anker beenden
R
Remo 0.png 23.10.2015 17:30
Ich würde dafür wohl zwei Blöcke bauen. Einen "Anker offen" und einen "Anker zu" Block..
G
GrafFoto 0.png 26.10.2015 09:49
Da ich die Konsequenzen einer Manipulation des Editors nicht ganz absehen kann habe ich jetzt erst mal Abstand davon genommen. Stattdessen habe ich einfach die benötigten Anker direkt in das Template eingebaut. Das ist eine einfache und schnell umsetzbare Lösung, solange Templateerstellung und Inhaltseingabe Hand in Hand gehen. Noch mal ein dickes DANKE.
R
Remo 0.png 26.10.2015 14:55
Ich denke das ist besser so.. Ansonsten halt wirklich einen Anker Block bauen wo man den Namen des Ankers besser bestimmen könnte

Nachricht hinzufügen