Anton: Menü in Typo3 mit Zeilenumbruch im Quellcode

Lasse mir so von Typo3 mein Menü bauen:

subparts.NAVIGATION = HMENU
subparts.NAVIGATION {
    entryLevel = 0
    wrap = <ul id="navigation" class="listWithoutPoints"> | </ul>
    1 = TMENU
    1.NO.linkWrap (
        <li> | </li>
    )
}

Die Runden Klammern verwende ich, damit hinter jedes <li> ein Zeilenumbruch angebaut wird. Nun ist es aber so, dass die erste <li>-Zeile in der gleichen Zeile wie das vorherige <ul> steht. Ich bräuchte den Zeilenumbruch also vor dem <li> und nicht nach dem <li>. Kann man das irgendwie umsetzen?

  1. Die Runden Klammern verwende ich, damit hinter jedes <li> ein Zeilenumbruch angebaut wird. Nun ist es aber so, dass die erste <li>-Zeile in der gleichen Zeile wie das vorherige <ul> steht. Ich bräuchte den Zeilenumbruch also vor dem <li> und nicht nach dem <li>. Kann man das irgendwie umsetzen?

    Durch viel herumspielerei und unübersichtlichtes TypoScript :) ich selbst verzichte darauf und lass das Menü einfach in einer Wurst ausgeben, stört nicht weiter.

    1. »» Die Runden Klammern verwende ich, damit hinter jedes <li> ein Zeilenumbruch angebaut wird. Nun ist es aber so, dass die erste <li>-Zeile in der gleichen Zeile wie das vorherige <ul> steht. Ich bräuchte den Zeilenumbruch also vor dem <li> und nicht nach dem <li>. Kann man das irgendwie umsetzen?

      Durch viel herumspielerei und unübersichtlichtes TypoScript :) ich selbst verzichte darauf und lass das Menü einfach in einer Wurst ausgeben, stört nicht weiter.

      Ich hab's jetzt so gemacht:

      subparts.NAVIGATION = HMENU
      subparts.NAVIGATION {
           entryLevel = 0
           wrap = <ul id="navigation" class="listWithoutPoints">|</ul>
           1 = TMENU
           1.noBlur = 1
           1.NO.linkWrap = <li>|</li>
      }

      Das mit der Wurstausgabe muß ich dann wohl akzeptieren. Zumindest hab ich die noBlur-Funktionen entfernen können. Ich will jetzt nicht übergenau sein. Trotzdem stört mich noch eine Kleinigkeit. Das ist zwar jetzt nicht Kriegsentscheidend aber wenn es einfach zu beheben wäre, wäre es super. Und zwar geht es um ungewollte Leerzeichen innerhalb des Quellcodes. Wenn ich mir eine <li>-Zeile rauspicke, dann sieht die so aus:

      <li><a href="index.php?id=33"  >Copyright</a></li><li>

      Hinter <li><a href="index.php?id=33"  sind zwei Leerzeichen eingefügt worden. Kann man das irgendwie erreichen das diese nicht eingefügt werden?

      Des weiteren die Frage, warum es in meinem Fall überhaupt sinnvoll ist, die Navigation dynamisch über TypoScript erstellen zu lassen? Bei meiner Navigation handelt es sich um eine Textbasierte Navigation. Die Navigation besitzt eine Hintergrundgrafik. Sobald ich mit der Maus über ein Element fahre, wird es entsprechend eingefärbt. Das aktuell selektierte Element wird nicht anders dargestellt als die anderen. Bei dieser Konstellation sehe ich nicht so wirkich den Vorteil, der Verwendung eines subparts für die Navigation. Ist die dynamische Erstellung hier überhaupt von Vorteil?

      Des weiteren gibt es ja neben der Eigenschaft NO (normal) auch noch die Eigenschafte RO (Roll Over). Das ist mir auch nicht so ganz klar. Eigentlich brauche ich die Eigenschaft RO doch nicht in meinem TypoScript. Hierfür ist doch mein CSS-Code doch schon zuständig. Er sorgt dafür das der Menüeintrag der gerade mit der Maus überfahren wird entsprechend eingefärbt wird.

      1. wrap = <ul id="navigation" class="listWithoutPoints">|</ul>

        warum .listWithoutPoints? das ist doch Unsinn

        Hinter <li><a href="index.php?id=33"  sind zwei Leerzeichen eingefügt worden. Kann man das irgendwie erreichen das diese nicht eingefügt werden?

        Kann ich bei mir nicht nachvollziehen - ggf. liegts am XHTML-Cleaning

        Des weiteren die Frage, warum es in meinem Fall überhaupt sinnvoll ist, die Navigation dynamisch über TypoScript erstellen zu lassen?

        Natürlich, wie soll der Endkunde dann sonst neue Menüpunkte anlegen und löschen.

        Ist die dynamische Erstellung hier überhaupt von Vorteil?

        Wie bereits erwähnt liegt der Vorteil darin, dass das Menü aus dem Baum von TYPO3 erstellt wird - wenn du dort einen Menüpunkt hinzufügst, wird der dort auch generiert.

        Des weiteren gibt es ja neben der Eigenschaft NO (normal) auch noch die Eigenschafte RO (Roll Over). Das ist mir auch nicht so ganz klar. Eigentlich brauche ich die Eigenschaft RO doch nicht in meinem TypoScript. Hierfür ist doch mein CSS-Code doch schon zuständig. Er sorgt dafür das der Menüeintrag der gerade mit der Maus überfahren wird entsprechend eingefärbt wird.

        Richtig, darum sagte ich ja auch dass du von den herkömmlichen, fertigen TYPO3-Menüs abstand nehmen sollst, insbesondere von GMENU :) - der RO-Zustand ist in der tat ziemlich unsinnig, wenn man sein Menü mit CSS formatiert.

        Üblicherweise brauchst du NO (Normalzustand), ACT (übergeordneter Punkt des derzeitigen Menüpunkts) und CUR (der derzeitige). Für nicht verfügbare Übersetzungen oder für Sprachmenüs brauchst du ggf. noch USERDEF1 und 2

        1. »»      wrap = <ul id="navigation" class="listWithoutPoints">|</ul>
          warum .listWithoutPoints? das ist doch Unsinn

          Naja, ich verwende einige Listen in meinen html Seiten. U.a. gehört ja auch die Navigationsliste dazu. Neben dieser Navigationsliste existieren auch noch weitere Listen die keine vorangestellten Punkte besitzen sollen. Ich weise also, all den Listen die keine vorangestellten Punkte besitzen sollen, einfach die Klasse "listWithoutPoints" zu. Würde ich das nicht tun, so müßte ich stattdessen "list-style-type: none;" sowohl zur id "navigation" also auch zu allen Listenformatierungen packen die keine vorangestellten Punkte haben sollen. Somit spare ich mir also redundanten Code in meinem CSS. Das sind noch altlasten aus der händischen Erstellung der Webseite. Jezt wird mein Menü ja generiert. Dann macht das wohl keinen Sinn mehr, glaub ich jedenfalls.

          In diesem Zusammenhang kommt mir jetzt ein ganz neuer Gedanke. Bisher hab ich einfach den kompletten CSS-Code übernommen, den ich auch für meine händische Seite verwendet habe. Nun ist es aber so, dass die dynamischen Elemente über das Backend geändert werden können. Demnach müßte ich dann den ganzen CSS-Code der mit dynamischen Elementen zusammenhängt entfernen. Ich kann ja im CSS keine Liste formatieren die im meinem Dummy-Inhalt (zwischen den ###CONTENT### Elementen) liegt. Andererseits muss ich sie ja formatieren, sonst bringt mir der dummy-Inhalt ja nichts. Würde ich den Dummy-Inhalt nicht per CSS-formatieren so hätte ich nicht die Möglichkeit Browserbugs bzw. andere Fehler aufzuspüren die nicht mit Typo3-Generierung zusammenhängen.

          »» Hinter <li><a href="index.php?id=33"  sind zwei Leerzeichen eingefügt worden. Kann man das irgendwie erreichen das diese nicht eingefügt werden?
          Kann ich bei mir nicht nachvollziehen - ggf. liegts am XHTML-Cleaning

          Du hattest recht. Es lag am XHTML-Cleaning. Hab "xhtml_cleaning = all" in den TypoScript-Code eingefügt... und schon klappt es.

          1. Somit spare ich mir also redundanten Code in meinem CSS. Das sind noch altlasten aus der händischen Erstellung der Webseite.

            Nein, du erzeugst damit redundanten Code - und zwar genau dahin, wo er nicht hingehört

            Die übliche vorgehensweise ist gemeinsame formatierung gemeinsam zu Formatieren:

            #navigation ul,
            #einzelnachweise ul
            #wasauchimmer ul {
              list-style: none;
            }

            In diesem Zusammenhang kommt mir jetzt ein ganz neuer Gedanke. Bisher hab ich einfach den kompletten CSS-Code übernommen, den ich auch für meine händische Seite verwendet habe.

            Das ist auch gut so.

            Nun ist es aber so, dass die dynamischen Elemente über das Backend geändert werden können.

            Ja und dort wird HTML produziert (Überschriften, Listen usw.) welches du bereits vorformatiert hast (unter Zuhilfenahme deines Dummy-Inhalts).

            Demnach müßte ich dann den ganzen CSS-Code der mit dynamischen Elementen zusammenhängt entfernen. Ich kann ja im CSS keine Liste formatieren die im meinem Dummy-Inhalt (zwischen den ###CONTENT### Elementen) liegt. Andererseits muss ich sie ja formatieren, sonst bringt mir der dummy-Inhalt ja nichts. Würde ich den Dummy-Inhalt nicht per CSS-formatieren so hätte ich nicht die Möglichkeit Browserbugs bzw. andere Fehler aufzuspüren die nicht mit Typo3-Generierung zusammenhängen.

            Ich kann dir da nicht mehr ganz folgen :D

            1. Die übliche vorgehensweise ist gemeinsame formatierung gemeinsam zu Formatieren:

              #navigation ul,
              #einzelnachweise ul
              #wasauchimmer ul {
                list-style: none;
              }

              Wieder etwas gelernt. Werd ich gleich in meiner HTML-Vorlage anpassen.

              »» In diesem Zusammenhang kommt mir jetzt ein ganz neuer Gedanke. Bisher hab ich einfach den kompletten CSS-Code übernommen, den ich auch für meine händische Seite verwendet habe.

              Das ist auch gut so.

              »» Nun ist es aber so, dass die dynamischen Elemente über das Backend geändert werden können.
              Ja und dort wird HTML produziert (Überschriften, Listen usw.) welches du bereits vorformatiert hast (unter Zuhilfenahme deines Dummy-Inhalts).

              Innerhalb des subparts ###CONTENT### habe ich mir jetzt zu Testzwecken mal eine Aufzählung erzeugt. In mein TypoScript-Template habe ich zunächst die Extension css_styled_content eingebunden. In den Typo-Script-Code selbst habe ich folgende Zeile gepackt:

              subparts.CONTENT < styles.content.get

              Lasse ich mir den Quellcode der generierten Liste anzeigen, dann wurde die Liste so integriert:

                
              <!--  CONTENT ELEMENT, uid:41/bullets [begin] -->  
              		<a id="c41"></a>  
                
              		<!--  Header: [begin] -->  
              			<div class="csc-header csc-header-n1"><h1 class="csc-firstHeader">eine Aufzählung</h1></div>  
              		<!--  Header: [end] -->  
              			  
              		<!--  Bullet list: [begin] -->  
              			<ul class="csc-bulletlist csc-bulletlist-0"><li class="odd">Punkt 1  
              </li><li class="even">Punkt 2  
              </li><li class="odd">Punkt 3  
              </li><li class="even">Punkt 4</li></ul>  
              		<!--  Bullet list: [end] -->	  
              <!--  CONTENT ELEMENT, uid:41/bullets [end] -->  
              
              

              Diesbezüglich bin ich jetzt etwas verwirrt. Für diese Liste greift doch jetzt nicht die Vorformatierung die ich für Listen in meinem CSS-Code festgelegt habe.

              1. Ich versuch mal etwas detailierter zu beschreiben, wo mein Verständnisproblem liegt bzw. wie ich mir den groben Ablauf vorstelle.

                1.) Im Browser ruft eine Person eine Seite mit der UID 5 auf
                2.) Typo3 hat nun also die Aufgabe die Seite mit der UID zu generieren
                3.) Zunächst überprüft Typo3 welche Seite hinter UID 5 steht: Annahme: z.B. die Kontaktseite
                4.) Als nächstes erstellt Typo3 das HTML-Grundgerüst
                5.) basierend auf dem benutzerdefinierten TypoScript wird das HTML-Grundgerüst entsprechend anpasst (header-Infos, doctype usw.)
                6.) ebenfalls basierend auf dem benutzerdefinierten TypoScript wird das HTML-Template in das HTML-Grundgerüst eingebunden.
                7.) Im nächsten Schritt werden die Elemente die vom Endanwender über das Backend angepasst werden können in die Seite integriert. Typo3 generiert also den Code für diese Elemente.
                8.) Damit die Formatierung für die vom Endanwender integrierten Elemente auch korrekt auf Basis von CSS umgesetzt wird, greift Typo3 aus ein Template zurück in welchem für alle HTML-Elemente festgelegt ist, wie sie formatiert werden. In meinem Fall wird das Template css_styled_content genutzt.
                9.) Hat der Endanwender beispielsweise eine Liste über das Backend integriert, so wird aus "css_styled_content" der Bereich gesucht in welchem Listen formatiert werden. So wird die Liste dann formatiert.

                Ich bin mir nicht sicher ob die Vorstellung richtig ist.

                Falls ja, dann würde ja niemals der von mir erstellt Code zur Formatierung von Listen zum Tragen kommen (meine CSS-Datei), womit ich ich diese dann auch gleich entfernen könnte. Das CSS wäre ja dann nur für den dummy-Inhalt relevant.

                Falls nein, dann würden die Listen ja immer mit Hilfe meines eigenen CSS-Layouts formatiert werden. Der Endanweder ohne CSS-Kenntnisse hätte also keine Möglichkeit die Formatierung der Liste nach seinen Wünschen zu ändern.

                1. Ich versuch mal etwas detailierter zu beschreiben, wo mein Verständnisproblem liegt bzw. wie ich mir den groben Ablauf vorstelle.

                  1.) Im Browser ruft eine Person eine Seite mit der UID 5 auf
                  2.) Typo3 hat nun also die Aufgabe die Seite mit der UID zu generieren
                  3.) Zunächst überprüft Typo3 welche Seite hinter UID 5 steht: Annahme: z.B. die Kontaktseite
                  4.) Als nächstes erstellt Typo3 das HTML-Grundgerüst
                  5.) basierend auf dem benutzerdefinierten TypoScript wird das HTML-Grundgerüst entsprechend anpasst (header-Infos, doctype usw.)
                  6.) ebenfalls basierend auf dem benutzerdefinierten TypoScript wird das HTML-Template in das HTML-Grundgerüst eingebunden.
                  7.) Im nächsten Schritt werden die Elemente die vom Endanwender über das Backend angepasst werden können in die Seite integriert. Typo3 generiert also den Code für diese Elemente.
                  8.) Damit die Formatierung für die vom Endanwender integrierten Elemente auch korrekt auf Basis von CSS umgesetzt wird, greift Typo3 aus ein Template zurück in welchem für alle HTML-Elemente festgelegt ist, wie sie formatiert werden. In meinem Fall wird das Template css_styled_content genutzt.

                  Die Reihenfolge stimmt nicht wirklich - aber das ist für deine Zwecke nicht relevant. Aber im Grunde passt das so.

                  9.) Hat der Endanwender beispielsweise eine Liste über das Backend integriert, so wird aus "css_styled_content" der Bereich gesucht in welchem Listen formatiert werden. So wird die Liste dann formatiert.

                  Ich bin mir nicht sicher ob die Vorstellung richtig ist.

                  Für Formatierung ist CSS zuständig, css_styled_content stellt nur ein eigenes CSS bereit, welches zusätzlich zu deinem CSS wirkt.

                  Falls ja, dann würde ja niemals der von mir erstellt Code zur Formatierung von Listen zum Tragen kommen (meine CSS-Datei), womit ich ich diese dann auch gleich entfernen könnte. Das CSS wäre ja dann nur für den dummy-Inhalt relevant.

                  Einerseits: sorge dafür, dass CSS-Styled-Content weniger Müll produziert. Anderseits, setze dich mit http://de.selfhtml.org/css/formate/kaskade.htm#spezifitaet@title=Spezifität auseinander und stelle fest, welches CSS zuerst eingebunden wird und was beinhaltet.

                  1. Gott sei Dank... ich glaub jetzt hab ich endlich das grobe Konzept von Typo3 verstanden. Ist mir ziemlich schwer gefallen.

                    Nun geht es also daran das Tempalte "css_styled_content" entsprechend anzupassen, so das es ordentlichen Code erstellt.

                    Ein paar Kleinigkeiten muß ich noch fragen. Die letzten für heute... versprochen ;-)

                    Wie ist das mit dem Stylesheet das bei "css_styled_content" mitgeliefert wird. Wird das von Typo3 generiert und enthält dann nur Formatierungen für die Komponenten die auch in der Seite verwendet werden, oder existiert es schon bevor die Seiten generiert werden.

                    Falls es generiert wird, sollte bzw. kann man dann auch Einfluss aus den Quellcode des Stylesheets nehmen?

                    Falls es nicht generiert wird, sollte man das stylesheet dann unangetastet lassen oder gibt es eine Möglichkeit den Code zu verbessern.

                    Wie modifziere ich denn das Template "css_styled_content" so, dass es mir besseren Quellcode liefert. Mache ich das am besten über den Objekt-Browser, den Template Analyzer oder irgendwie anders. Als Alternative würde mir einfallen, die Elemente des Templates "css_styled_content", (das ja in mein eigenes Template eingebunden wird und auf dessen Elemente ich deshalb ja dann auch in meinem eigenen Template zugreifen kann) die ich gerne anders formatiert darstellen will, in meinem eigenen TypoScript zu überschreiben. Somit müßte ich nichts direkt in "css_styled_content" ändern, und hatte damit keine Probleme bei einem Update von "css_styled_content".

                    Eine eigenes Template als Alternative für "css_styled_content" zu schreiben ist momentan wohl noch eine Nummer zu groß für mich? Was meinst du?

                    Du hast dir nicht zufällig schon so ein Template erstellt? Dann würde ich nämlich fragen, ob ich das haben kann ;-)

                    1. Wie ist das mit dem Stylesheet das bei "css_styled_content" mitgeliefert wird. Wird das von Typo3 generiert und enthält dann nur Formatierungen für die Komponenten die auch in der Seite verwendet werden, oder existiert es schon bevor die Seiten generiert werden.

                      Das CSS wird zwar generiert, enthält aber sämtliche Deklarationen, die von "allen Extensions" bereitgestellt werden - wenn du es nicht inkludiert haben willst, kannst du es entfernen. Allerdings werden dann die CSS-Schnipsel der verwendeten Extensions dann nicht mehr in das generierte File gelesen.

                      Falls es generiert wird, sollte bzw. kann man dann auch Einfluss aus den Quellcode des Stylesheets nehmen?

                      Ja - allerdings ist das kein triviales Thema mehr, lass das css vorerst drinnen und kümmere dich um den Rest, wenn du tiefer in der Materie bist, kannst du das File ersetzen, abändern oder sonstwas damit machen.

                      Falls es nicht generiert wird, sollte man das stylesheet dann unangetastet lassen oder gibt es eine Möglichkeit den Code zu verbessern.

                      Wie gesagt es wird generiert, aber es wird eben aus fixen Bestandteilen zusammengesetzt, die aus dem TypoScript kommen - richtig dynamisch angepasst an die tatsächlichen Inhaltselemente ist es nicht, das wäre aber theoretisch möglich.

                      Wie modifziere ich denn das Template "css_styled_content" so, dass es mir besseren Quellcode liefert. Mache ich das am besten über den Objekt-Browser, den Template Analyzer oder irgendwie anders.

                      Ich mach das per Hand :) such dir in dem bereits genannten static/setup.txt die Stelle die dir nicht gefällt und ersetze/ergänze/lösche sie.

                      Als Alternative würde mir einfallen, die Elemente des Templates "css_styled_content", (das ja in mein eigenes Template eingebunden wird und auf dessen Elemente ich deshalb ja dann auch in meinem eigenen Template zugreifen kann) die ich gerne anders formatiert darstellen will, in meinem eigenen TypoScript zu überschreiben. Somit müßte ich nichts direkt in "css_styled_content" ändern, und hatte damit keine Probleme bei einem Update von "css_styled_content".

                      Genau das ist es, was ich dir bereits gesagt habe - NICHT das original-File überschreiben sondern in deinem TypoScript die selbe Deklaration nochmal machen - funktioniert Quasi wie in CSS auch, eine apätere Angabe überschreibt eine frühere.

                      Eine eigenes Template als Alternative für "css_styled_content" zu schreiben ist momentan wohl noch eine Nummer zu groß für mich? Was meinst du?

                      css_styled_content hat etwa 1500 Zeilen (lediglich das TypoScript-Setup). Ich hab' für meinen Zweck entschieden, dass es eine Nummer zu groß für mich ist, ich habe lediglich "Müll" daraus entfernt (sinnlose Klassen und wraps - z.B. das genannte <div />-Element um die Überschriften oder die "Lückenfüller-Kommentare" usw. Mit etwa 100 Zeilen TS hast du bereits sehr ordentlichen Code.

                      Du hast dir nicht zufällig schon so ein Template erstellt? Dann würde ich nämlich fragen, ob ich das haben kann ;-)

                      Mein HTML-Template ist prinzipiell offen zugänglich, allerdings ist meine Seite aktuell nicht erreichbar (DNS-Problem mit der Subdomain, noch keine Zeit das zu lösen) und das Template (geschweige denn die Seite selbst) ist noch garnicht fertig :).

                      Das TypoScript-Template kann ich dir nicht so einfach vermachen, da steckt zu viel Know-How dahinter, alsdass ich das einfach hergeben kann. Wie bereits erwähnt, wenn ich wieder mehr Zeit habe, gibts Tutorials auf meiner Seite.

                      1. In den subpart ###CONTENT### soll Text eingefügt werden.

                        Über das Backend füge ich "Normaler Text" der gewünschten Seite hinzu.

                        Den Text habe ich über den Rich Text Editor eingegeben. Im Rich Text Editor habe ich die Möglichkeit in die HTML-Ansicht zu wechseln. Diese habe ich getan. Dann wird mir folgender Quellcode angezeigt:

                          
                        <p>Der eigentliche Text. Hierbei handelt es sich um den ersten Absatz.</p><p><br /><i><b>Hier bei handelt es sich um den zweiten fett, und kursiv geschriebenen Absatz.</b></i></p>  
                        
                        

                        Es ist zu erkennen, dass innerhalb des Quellcodes Formatanweisungen sind z.B. <br />, <i> und <b>. Bisher dachte ich, dass das statische Template "css_content_style" alleine für die Formatierung verantwortlich ist. Das verwirrt mich jetzt ganz gewaltig. Wo ist denn der Sinn von "css_content_style", wenn die Formatierung bereits über den Richt Text Editor eingebunden wird?

                        Was wäre denn das richtige Vorgehen, um einen fetten, kursiven Text zu erstellen, ohne das die Formatierung direkt in das Markup gelangt. Ist es überhaupt der richtige Ansatz mit dem Rich Text Editor zu arbeiten?

                        1. Es ist zu erkennen, dass innerhalb des Quellcodes Formatanweisungen sind z.B. <br />, <i> und <b>. Bisher dachte ich, dass das statische Template "css_content_style" alleine für die Formatierung verantwortlich ist. Das verwirrt mich jetzt ganz gewaltig. Wo ist denn der Sinn von "css_content_style", wenn die Formatierung bereits über den Richt Text Editor eingebunden wird?

                          Das ist das Dilemma an WYSIWYG-Editoren - Sie ermöglichen keine saubere Trennung von Struktur und Inhalt - mein Rat: gestalte die Fett- und Kursiv-Buttons so um, dass sie den Text mit <strong /> und <em /> auszeichnen - "remap" in der RTE-Konfiguration wird dir hierbei helfen.

                          Einige der Werzeuge im Editor sind semantisch leider nicht sher sinnvoll.

                          Was wäre denn das richtige Vorgehen, um einen fetten, kursiven Text zu erstellen, ohne das die Formatierung direkt in das Markup gelangt. Ist es überhaupt der richtige Ansatz mit dem Rich Text Editor zu arbeiten?

                          Einen fetten oder kursiven Text zu erstellen ist niemals sinnvoll - einen wichtigen oder hervorgehobenen Text hingegen schon (dass dieser "zufällig" fett und kursiv ist, tut nichts zur sache - der kann auch rot oder unterstrichen sein)  - dieser gehört dann aber auch direkt an die Daten gebunden und in die Datenbank gespeichert.

                          1. Das ist das Dilemma an WYSIWYG-Editoren - Sie ermöglichen keine saubere Trennung von Struktur und Inhalt - mein Rat: gestalte die Fett- und Kursiv-Buttons so um, dass sie den Text mit <strong /> und <em /> auszeichnen - "remap" in der RTE-Konfiguration wird dir hierbei helfen. Einige der Werzeuge im Editor sind semantisch leider nicht sher sinnvoll.

                            Einen fetten oder kursiven Text zu erstellen ist niemals sinnvoll - einen wichtigen oder hervorgehobenen Text hingegen schon (dass dieser "zufällig" fett und kursiv ist, tut nichts zur sache - der kann auch rot oder unterstrichen sein)  - dieser gehört dann aber auch direkt an die Daten gebunden und in die Datenbank gespeichert.

                            Ich muß also erreichen, dass der RTE keine Formatierung mehr vornimmt, sondern nur eine semantisch korrekte Auszeichnung. Diese Auszeichnung wird dann mit der aus "css_styled_content" resultierenden CSS-Datei bzw. mit meiner eigenen CSS-Datei entsprechend formatiert. Ist das soweit richtig?

                            Die Frage ist, ob in diesem Zusammenhang die Verwendung eines RTE überhaupt noch sinnvoll ist. Mal angenommen eine Laie will Text per RTE verändern. Dann muß ich ihm wohl irgendwie klar machen, dass er nur den eigentlichen Inhalt verändern kann, da die Formatierung ja über CSS gesteuert wird und er das mit hoher Wahrscheinlichkeit wohl nicht beherscht.

                            Wie kann ich denn die "htmlArea RTE 1.7.5"-Konfiguration anpassen? Gibt es dazu irgendeine Anleitung?

                            Es hat doch bestimmt schon mehrere Leute gestört, dass der "htmlArea RTE 1.7.5" keine saubere Trennung zwischen Inhalt und Formatierung umsetzen kann. Demnach hat doch bestimmt schon jemand die "htmlArea RTE 1.7.5"-Konfiguration so modifziert, das der RTE besser arbeitet. Kann man diese verbesserte Konfiguration nirgends herunterladen?

                            Ach eine Sache würde mich noch interessieren. Hab was über den AutoParser gelesen, der automatisch die Subparts in das HTML-Template haut. Hälst du den für sinnvoll oder sollte man von diesem genau wie von TemplaVoila auch die Finger lassen?

                            1. Ich habe jetzt über "Erw-Manager" ==> "htmlArea RTE" ==> "Enable features" im Pulldown von "Typical" auf "Minimal" umgestellt. Damit werden mir im RTE jetzt nurnoch die Optionen "bold" und "italic" angezeigt. Macht man das so? Falls ja, dann hätte der Laie der später die Inhalte ändern soll weniger Möglichkeiten irgendwelchen Mist zu machen.

                              1. Ich habe jetzt über "Erw-Manager" ==> "htmlArea RTE" ==> "Enable features" im Pulldown von "Typical" auf "Minimal" umgestellt. Damit werden mir im RTE jetzt nurnoch die Optionen "bold" und "italic" angezeigt. Macht man das so? Falls ja, dann hätte der Laie der später die Inhalte ändern soll weniger Möglichkeiten irgendwelchen Mist zu machen.

                                Du kannst den RTE auch direkt per TypoScript konfigurieren - wie auch bei css_styled_content liegt die Konfiguration unter static/setup.txt im entsprechenden Extension-Verzeichnis.

                            2. Ich muß also erreichen, dass der RTE keine Formatierung mehr vornimmt, sondern nur eine semantisch korrekte Auszeichnung.

                              Nein, das musst du deinen Readaktueren beibringen - der RTE wird immer Zeilenumbrüche erlauben oder fetten Text.

                              DU musst deinen Redakteuren sagen: "Eine Überschrift ist eine Überschrift, kein 'fetter Text' gefolgt von 2 Zeilenumbrüchen"

                              Diese Auszeichnung wird dann mit der aus "css_styled_content" resultierenden CSS-Datei bzw. mit meiner eigenen CSS-Datei entsprechend formatiert. Ist das soweit richtig?

                              Woher die Formatierung stammt ist egal, ich würde dir aber empfehlen, diese selbst vorzunehmen - in deiner CSS-Datei.

                              Die Frage ist, ob in diesem Zusammenhang die Verwendung eines RTE überhaupt noch sinnvoll ist. Mal angenommen eine Laie will Text per RTE verändern. Dann muß ich ihm wohl irgendwie klar machen, dass er nur den eigentlichen Inhalt verändern kann, da die Formatierung ja über CSS gesteuert wird und er das mit hoher Wahrscheinlichkeit wohl nicht beherscht.

                              Richtig, genau das Bedarf einer Einschulung - erkläre es an einem einfachen Beispiel:
                              "Lieber Kunde, wenn du irgendwann möchtest, dass deine Überschriften etwas mehr Abstand davor oder danach haben, ist das für mich eine kleine Einstellung - du musst dem System nur sagen, was eine Überschrift ist - wenn du das nicht machst, musst du bei einer künftigen Änderung deines Layouts alle Texte durchgehen und ändern" - wenn der Kunde weiß, dass er irgendwann mal 250 Unterseiten haben will, macht er's in eigenem interesse tunlichst ordentlich. Ich hatte noch keinen Kunden, der das nicht auf Anhieb kapiert hat.

                              Wie kann ich denn die "htmlArea RTE 1.7.5"-Konfiguration anpassen? Gibt es dazu irgendeine Anleitung?

                              Natürlich - hast du Google schon befragt? :) Oder in den System-Extensions nachgesehen?

                              Es hat doch bestimmt schon mehrere Leute gestört, dass der "htmlArea RTE 1.7.5" keine saubere Trennung zwischen Inhalt und Formatierung umsetzen kann. Demnach hat doch bestimmt schon jemand die "htmlArea RTE 1.7.5"-Konfiguration so modifziert, das der RTE besser arbeitet. Kann man diese verbesserte Konfiguration nirgends herunterladen?

                              Soweit ich weiß nicht, sämtliche "bessere RTE" Konfiguration fügt meistens nur noch mehr Schwachsinn hinzu.

                              Ach eine Sache würde mich noch interessieren. Hab was über den AutoParser gelesen, der automatisch die Subparts in das HTML-Template haut. Hälst du den für sinnvoll oder sollte man von diesem genau wie von TemplaVoila auch die Finger lassen?

                              Der Template Auto Parser und Template Voila sind die selbe Seuche :) verwende Sie wenn du keinen Wert auf den Code legst - das Zeug ist für Leute gedacht, die "Webdesigner" sind und sich mit Standards nicht auseinandersetzen wollen oder nicht wissen, dass es welche gibt.

                              Ich erstelle Templates im eigenen interesse selbst nach einem entsprechenden Schema/Framework (nein, kein populäres) - die automatischen Parser tun das nicht - spätestens bei einer Designänderung (in meinem Fall ein neues Template bauen und eine Konstante ändern) brichst du dir das Genick, dann darfst du quasi alles neu machen.

              2. <!--  CONTENT ELEMENT, uid:41/bullets [begin] -->
                <a id="c41"></a>

                  <!--  Header: [begin] -->  
                  	<div class="csc-header csc-header-n1"><h1 class="csc-firstHeader">eine Aufzählung</h1></div>  
                  <!--  Header: [end] -->  
                  	  
                  <!--  Bullet list: [begin] -->  
                  	<ul class="csc-bulletlist csc-bulletlist-0"><li class="odd">Punkt 1  
                

                </li><li class="even">Punkt 2
                </li><li class="odd">Punkt 3
                </li><li class="even">Punkt 4</li></ul>
                <!--  Bullet list: [end] -->
                <!--  CONTENT ELEMENT, uid:41/bullets [end] -->

                
                >   
                > Diesbezüglich bin ich jetzt etwas verwirrt. Für diese Liste greift doch jetzt nicht die Vorformatierung die ich für Listen in meinem CSS-Code festgelegt habe.  
                  
                Doch schon, aber sie wird ggf. von den Deklarationen Überschrieben, die aus dem Stylesheet von css\_styled\_content kommen (diese csc-xxx" Dinge) - das liefert ebenfalls ein eigenes Stylesheet mit.  
                  
                Wenn du die Ausgabe dieses Unsinns unterbindest, sieht die Sache schon anders aus - die imho unnötigen Klassen, die überflüssigen Kommentare überall.  
                  
                Die automatisch eingefügten Klassen "even" und "odd" sind allerdings nicht unpraktisch - ob du die Ausgabe dieser auch unterbinden willst oder nicht, bleibt dir überlassen.  
                  
                Ebenso solltest du die Ausgabe der Content-Element-Überschrift beeinflussen - ein h1 als Zwischenüberschrift im Fließtext ist etwas zu "hoch" hier würde ich dir zu h2 oder gar h3 raten (h1 = Name der Seite, h2 = Titel der Unterseite, h3 = Zwischenüberschrift). Ebenso ist das Div-Element um die Überschrift herum (wrap) etwas unsinnig, das kann gerne auch weg.  
                  
                Ob du den Anker behalten willst oder die ID in die Überschrift geben willst, kannst du dir auch überlegen. In meinem Fall sieht die Überschrift so aus `<h3 id="c123">Text</h3>`{:.language-html} ohne irgenwelchem Müll. Auf Wunsch kannst du das Ding aber auch komplett entfernen, ich finds aber sehr praktisch zum Anspringen von Zwischenüberschriften bei langen Texten.
                
  2. Welche Möglichkeiten gibt es denn, wenn ich die Beschreibung eines Bildes rechts daneben, und zwar vertikal zentriert bezogen auf das Bild, anzeigen lassen möchte? Ich bekomme das leider nicht hin.