Neuigkeiten:

moziloCMS verwendet Cookies. Wenn Sie auf unserer Seite weitersurfen, stimmen Sie der Cookie-Nutzung zu Datenschutzerklärung
moziloCMS Layouts
moziloCMS Plugins

Hauptmenü

moziloCMS 2.0 - Fehler bei Überschriften - Leerzeile wird hinzugefügt

Begonnen von laborix, 19. Juni 2016, 18:29:48

« vorheriges - nächstes »

laborix

Hallo miteinander,

wenn man eine Inhaltsseite bearbeitet und dort nach einer Überschrift zwei Leerzeichen anfügt, also hinter der schließenden eckigen Klammer
[ueber3|Überschrift H3]   <- Leerzeichen, 2 Stück.
dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.

wird automatisch folgender HTML-Code generiert:
<h3 id="a5" class="heading3">Überschrift H3</h3>&nbsp;&nbsp;<br />
dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.

ganz kurios ;) , aber reproduzierbar mit der aktuellen Github moziloCMS 2.0 und PHP 5.6. Ist übrigens egal, ob H1, H2, H3 oder H4.

djr

@laborix
Ich habe das gerade mal reproduziert und die verantwortliche Stelle im Code ausfindig gemacht.

Es wird immer ein &nbsp;&nbsp; erzeugt, wenn zwei Leerzeichen aufeinander folgen.
Egal wo im Text. Also nicht nur nach den Überschriften.

Begründet ist das in den Code-Kommentaren mit "Für Einrückungen":
Zitat// Für Einrückungen
$content = str_replace("  ","-html_nbsp~-html_nbsp~",$content);
Zu finden in der Klasse Syntax, Methode preparePageContent, Zeile 1086 - 1087 (https://github.com/mozilo/mozilo2.0/blob/7bbc13ab5b9c0c639d0ad09b8515400e68a04687/cms/Syntax.php#L1086-L1087).

djr

Nur sagt der Code auch, dass Umbrüche <br /> nach Block-Elementen, wie es Überschriften sind, vermieden werden. (Vergleiche: https://github.com/mozilo/mozilo2.0/blob/7bbc13ab5b9c0c639d0ad09b8515400e68a04687/cms/Syntax.php#L280-L289)

Bei dem von Dir aufgezeigten Umstand wird der Umbruch beibehalten, weil er nicht nach einem Blockelement kommt, sondern nach einem "geschützten Leerzeichen".

laborix

Zitat von: djr am 21. Juni 2016, 21:09:56... Bei dem von Dir aufgezeigten Umstand wird der Umbruch beibehalten, weil er nicht nach einem Blockelement kommt, sondern nach einem "geschützten Leerzeichen.
Interessant, man kann damit leben wenn man das weiß. Muss man halt aufpassen  ;)

Wenn jemand das aber nicht weiß und er/sie hat im Frontend zwischen Überschrift und Absatz einen zu weiten Abstand, geht das gut?

Gruß
Laborix

djr

Zitat von: laborix am 23. Juni 2016, 18:33:20...geht das gut?
Bin mir nicht sicher ob ich Deine Frage richtig verstehe.

Wenn Du die HTML-Semantik meinst, ist es gut zu wissen, dass mozilo keine echten Absätze <p>...</p> macht, sondern mittels doppeltem Umbruch <br /><br />.

laborix

Eigentlich meinte ich, das ich in meinem Fall mir den HTML Quelltext angeschaut und dort die <br>'s gefunden habe. Somit war für mich klar, das hinter der Überschrift Zeichen stehen. Ob das andere in diesem Fall bei einer Fehlersuche so machen, weiß ich nicht.

Zwei Leerzeichen im Editor zu sehen halte ich für ziemlich schwer (Brillenträger ;))

djr

Zitat von: laborix am 23. Juni 2016, 21:37:26
Zwei Leerzeichen im Editor zu sehen halte ich für ziemlich schwer

Da hilft ein Klick auf das ¶ (Absatz-Zeichen) im Editor. Dann werden die nicht sichtbaren Zeichen angezeigt.
Siehe Screenshot im Anhang.