P-Absatz wird generiert

  • Hallo Stef,


    müsste ich mal ausprobieren. Auf die Schnelle geraten, vielleicht deswegen:

    Code
    <div itemprop="articleBody" class="com-content-article__body">
            <p style="text-align: center;"> </p>
    <p style="text-align: center;">

    scheint das oben fehlende </p> (3. Zeile) sich unten dranzuhängen, weil hier kein offenes <p> ist:

    Code
    width="294" height="44" loading="lazy" /></p></div>
    </p>     </div>
  • Das ist "normal" oder "war schon immer so".

    JCE-editor bietet mittlerweile aber eine Einstellung, um so eingesetzte Tags der Art "{.....}" davor zu schützen, dass schon im Editor ein <p> drumrumgesetzt wird.


    Ist allerdings ein wenig mit Vorsicht zu genießen, wenn man das bei Seiten aktiviert, wo man schon viele so Tags im Editor hat. Habe ich bei meiner Seite wieder deaktiviert ;) Weiß aber nicht mehr genau warum. Ich schätze, weil dieser <p> ja auch einen "willkommenen" Abstand erzeugt und dann plötzlich überall auf der Seite diese Module am Folgeinhalt "kleben".


    EDIT: Das ist die Einstellung (und ich sehe gerade, dass ich sie doch aktiviert habe):


    Und im JCE-Editor-Text siehts dann so aus, zumindest, wenn visuelle Hilfen aktiviert ist (oder wie es heißt, wenn einem die Tags angezeigt werdn):


  • warum. Ich schätze, weil dieser <p> ja auch einen "willkommenen" Abstand erzeugt und dann plötzlich überall auf der Seite diese Module am Folgeinhalt "kleben".


    Es wird nur einen </p> eingefügt, also keinen Abstand <p> </p> wenn ich es richtig sehe.
    Darum wird es als Fehler beim, W3C Validator angegeben.

  • Das ist klar, dass das nicht valide ist. 2 meiner Erweiterungen, die so Shortcodes verwenden, entfernen die <p> bevor das Ergebnis-DIV dann auf der Seite ausgegeben wird, aber das ist keinesfalls performanter Code, nicht mehr empfohlen so Code, also mach ich das nicht mehr. Die Nachteile sind größer als die Vorteile. Damit das dann immer und verlässlich alle diese umgebenden <p> entfernt, wäre der Code noch komplexer und langsamer.


    Und Abstand halt, wenn das CSS für <p> hier entsprechend greift. Und ein <p> hat ja normalerweise ein margin-bottom oder so was in der Art, damit die Absätze im Text Abstände haben Manchmal tut es nicht greifen.


    Deshalb ist die JCE-Lösung schon nicht doof. Die <p> von Anfang an verhindern.

  • Danke Re:Later für deine Geduld,


    Hatte dich nicht sofort richtig verstanden.


    Habe mal JCE Installiert und den Shortcode aktiviert.

    Die Seite neu gespeichert, aber diesen </p> bleibt vorhanden.




    Der Code wenn man ein Module per loadmodulid in einem Artikel einfügt, wird doch vom Joomla System generiert, oder sehe ich das falsch ? Diesen </p> kann ich ja selber nicht entfernen.

  • Das <p> wird im Normalfall bereits im Editor um den {loadmoduleid 123} erzeugt, weil man das Ding ja meist in einen neuen Absatz einsetzt.


    Mit dem JCE-Shortcode-Feature sollte das aber nicht passieren, wenn man so ein DIng neu im Editor einsetzt bzw. den Beitrag neu speichert. Lege ich meine Hand nicht ins Feuer was davon nun, weil ja als experimentell gekennzeichnet und Joomla 4.


    Schalt doch mal das Content-Plugin loadmodule (oder wie es heißt) aus. Und schau dann in den Seitenquelltext wie es dann aussieht.


    <p>{loadmoduleid 123}</p>

    oder blankes

    {loadmoduleid 123}

    irgendwo dazwischen?


    Und auch mal den Editor in HTML-Ansicht umschalten, was da um den Shortcode drumrum ist.


    Es passiert jedenfalls nichts, wenn man nur die JCE-Konfiguration umstellt. Man muss auch den Beitrag mindestens noch mal öffnen und vrmtl. neu speichern.


    Vielleicht ja auch Cache?


    Sonst weiß ich auch nicht weiter.

  • Der Seitenquelltext sieht momentan so aus:


    Code
    <p style="text-align: center;">&nbsp;</p>
    <p style="text-align: center;">&nbsp;</p>
    {loadmoduleid 123}
    <p>&nbsp;</p>

    Mit Inhalt-Module laden auf AUS


    Code
    <p style="text-align: center;">&nbsp;</p>
    <p style="text-align: center;">{loadmoduleid 123}</p>


    Mit Editor CodeMirror + Inhalt-Module laden AUS


    Code
    <p style="text-align: center;">&nbsp;</p>
    <p style="text-align: center;">{loadmoduleid 123}</p>


    Mit Editor CodeMirror + Inhalt-Module laden EIN


    Code
    <p style="text-align: center;">&nbsp;</p>
    <p style="text-align: center;">{loadmoduleid 123}</p>

    Mit Editor Keiner gleich wie mit CodeMirror



    EDIT: Und wie ich jetzt sehe ist es gelungen, das </p> ist nicht mehr vorhanden, wie du schon sagst vielleicht cache, da ich ihn jetzt mehrmals gelöscht habe.

    Deine Lösung mit dem JCE-Shortcode funktioniert also wunderbar. :)