edit_area

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

edit_area

Beitrag von salsa » Mo 14. Sep 2009, 11:31

Hallo,
im kleinen Editor - edit_area - ist immer ein Leerzeichen voreingestellt und es wird der Text mit einem <p></p> abgespeichert. Bei der Headline hat das die Folge, dass die spezielle Formatierung durch das p gestört wird.
Kann mir jemand einen Tipp geben, wie das zu ändern ist (in welcher Datei in Contenido > external > edit_area)?

_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

Re: edit_area

Beitrag von _wiewo_ » Mo 14. Sep 2009, 18:54

CMS_HEAD nehmen, da ist kein P tag
und das mit dem Leerzeichen ist normal, das kann man ja wenn mans editiert vorne einfach wegmachen

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

Re: edit_area

Beitrag von salsa » Mo 14. Sep 2009, 19:13

Danke für den Tipp; da hätte ich früher drauf kommen müssen.
Nach der Änderung sind alle Headlines futsch. Hast du auch einen Tipp, wie ich das umgehen kann?

_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

Re: edit_area

Beitrag von _wiewo_ » Mo 14. Sep 2009, 19:18

in der tabelle "con_content" stehen solche sachen, und da gibt die "idtype"
und was da rein muss, siehst du in der tabelle "con_type"

ob das einfach so ohne probs klappt wenn du das änderst, kann ich dir leider nicht sagen

wirst aufjedenfall reingehen müssen in die überschriften und die einmal neu speichern oder so,
musst da mal testen, habe das selber noch nie gemacht

Karin Dähne
Beiträge: 140
Registriert: Fr 20. Feb 2004, 17:48
Wohnort: Braunschweig
Kontaktdaten:

Re: edit_area

Beitrag von Karin Dähne » Do 22. Okt 2009, 13:36

Eine Frage dazu:
seit wann ist das denn umgestellt worden? Und warum?
Ich nutze seit Anfang an (2004) in den Überschriften "CMS_HTMLHEAD[1]" und bisher wurde dann nie der P-Tag erstellt.
Jetzt nach einem Upgrade auf auf die 4.8.12 fällt mir bei neuen Überschriften auch auf, dass ein P-Tag erstellt wird.
Die Aussicht, bei allen Projekten in die Datenbank zu gehen und die "idtype" zu ändern, löst bei mir nur mäßige Begeisterung aus.
Zumal bei der Umstellung auf "CMS_HEAD" ja auch kein Inside-Editing möglich ist.
Meine Idee war jetzt, entweder in der Tabelle "*_type" den P-Tag wieder zu entfernen, oder in der Datei .../contenido/includes/include.CMS_HTMLHEAD.php. (Klar, dass ich das dann auch bei folgenden Updates machen muss.)
Habe aber an beiden Orten nichts finden können.
Hat dazu jemand eine Idee? Oder wird es zumindest bei CMS_HTMLHEAD als Bug angesehen und wieder geändert?
Zumal ja das mitgelieferte Modul "Headline (HTML)" die Vorformatierung sinnvoller Weise

Code: Alles auswählen

<h1 class=\"content\">"."CMS_HTMLHEAD[1]"."</h1>
ausgibt.

zimboo
Beiträge: 171
Registriert: Fr 20. Mai 2005, 09:43
Wohnort: Köln - Rondorf
Kontaktdaten:

Re: edit_area

Beitrag von zimboo » Fr 23. Okt 2009, 13:08

Hallo Karin,

ich hatte ein ähnliches Problem mit den Überschriften.
Ich habe es folgendermaßen glöst:

Code: Alles auswählen

            <?php
                if (!isset($tpl) || !is_object($tpl))
                {
                    $tpl = new Template();
                }
                
                $sText = "CMS_HTMLHEAD[7]";

                $tpl->reset();
                if ($contenido && $edit)
                {
                    $tpl->set('s', 'text', $sText);
                    $tpl->generate('templates/headline_h1.html');
                } 
                else
                {
                    if ($sText != '')
                    {
                        $tpl->set('s', 'text', strip_tags($sText));
                        $tpl->generate('templates/box_headline_1.html');
                    }
                }
           ?>    
Der code ist nicht von mir - sondern der ist bereits in dem Modul "Headline" enthalten...
Im Modul-Template habe ich dann folgendes

Code: Alles auswählen

<div class="box_headline">
    {text}
</div>
stehen...

Und somt wird der ausgebene Text genau den gewünschten Styles entsprechen :-)

Vielleicht nicht die elleganteste Lösung - aber sie funzt...

Grüße aus Kölle

Jörg
Jörg Zimmermann
Köln Rondorf

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

Re: edit_area

Beitrag von salsa » Sa 24. Okt 2009, 23:41

zimboo hat geschrieben: Und somt wird der ausgebene Text genau den gewünschten Styles entsprechen :-)
Vielleicht nicht die elleganteste Lösung - aber sie funzt...
Danke - Es klappt bei mir auch - super!
Ich kann dann aber den Text einer einzelne Headline nicht verändern, z.B. zentrieren.
Gruß aus Dortmund
Michael

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

Re: edit_area

Beitrag von salsa » Do 29. Okt 2009, 00:10

Wozu ist "edit_area" überhaupt da? Früher gab's das nicht und wenn man es ganz löscht, ist nichts anders.

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: edit_area

Beitrag von Dodger77 » Do 29. Okt 2009, 08:25

salsa hat geschrieben:Wozu ist "edit_area" überhaupt da? Früher gab's das nicht und wenn man es ganz löscht, ist nichts anders.
Doch. Anders dürfte es schon sein, wenn man vorher edit_area benutzt hätte. Das passiert nur unter "Style -> Module, Styleeditor, Skripteditor, Modul-Templates". Dort kümmert sich edit_area um einige Verbesserungen bei der Quelltextbearbeitung (Zeilennummer, Syntaxhighlighting, Suchen&Ersetzen, ...).

Du meinst vermutlich den integrierten WYSIWYG-Editor TinyMCE, der mittlerweile (also seit der Version 4.8.9, die ja auch schon fast ein Jahr alt ist) auch für das Inside-Editing verwendet wird, da es mit der damaligen Lösung (Mozile) viele Schwierigkeiten gab (das wurde hier bereits ein paar mal diskutiert).

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Re: edit_area

Beitrag von kummer » Do 29. Okt 2009, 09:15

wenn man überschriften macht, will man ja in der regel keinerlei auszeichnungen haben, die ein redakteur möglicherweise eingefügt hat. es bietet sich also an, das modul so anzupassen, dass alle tags entfernt werden und das headline-tag im modul ergänzt wird. etwa so:

Code: Alles auswählen

<?php

if ($edit) {
    echo "CMS_HTMLHEAD[1]";
} else {
    echo '<h1>' . strip_tags("CMS_HTMLHEAD[1]") . '</h1>';
}

?>
dann ist die ausgabe unabhängig davon, was der redakteur oder der tiny macht, genau so wie gewünscht.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: edit_area

Beitrag von Dodger77 » Do 29. Okt 2009, 09:40

Und wenn man unbedingt einzelne HTML-Elemente braucht, kann man die ja in strip_tags() erlauben, z.B.:

Code: Alles auswählen

    <?php

    if ($edit) {
        echo "CMS_HTMLHEAD[1]";
    } else {
        echo '<h1>' . strip_tags("CMS_HTMLHEAD[1]", '<a><em><div><strong><span>') . '</h1>';
    }

    ?>
Der TinyMCE muss natürlich so konfiguriert sein, dass entsprechende Elemente und Attribute erlaubt.

caps-log
Beiträge: 94
Registriert: Fr 5. Dez 2003, 09:56
Wohnort: Waiblingen
Kontaktdaten:

Formatierte Überschriften und Inhalte unverändert anzeigen

Beitrag von caps-log » Mi 10. Feb 2010, 16:30

Danke für den Tipp,

ich hatte vorhin das Problem, dass farblich formatierte Überschriften durch das Standard-Contenido Headline-Modul "bereinigt" wurden.
Mit der vorgeschlagenen Ergänzung im Modul-Output (Zeile 31)

Code: Alles auswählen

        $tpl->set('s', 'text', strip_tags($sText, '<font><a><em><div><strong><span>'));
        
klappt das jetzt bei mir prima...

Wie müsste man jedoch vorgehen, wenn man die Ausgabe des Standard-News-Moduls für den normalen HTML-Inhalt ähnlich anpassen möchte?
News -Modul Zeile 188

Code: Alles auswählen

$teasertext = strip_tags($article->getContent('CMS_HTML', '1'));
Hier wäre mir Hilfe sehr willkommen.

Gruss, Torsten
Hebt man den Blick,
so sieht man keine Grenzen.
(Aus Japan)

torsten w. licker
caps-log.de/sign

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: Formatierte Überschriften und Inhalte unverändert anzeigen

Beitrag von Dodger77 » Do 11. Feb 2010, 12:15

caps-log hat geschrieben:Wie müsste man jedoch vorgehen, wenn man die Ausgabe des Standard-News-Moduls für den normalen HTML-Inhalt ähnlich anpassen möchte?
News -Modul Zeile 188

Code: Alles auswählen

$teasertext = strip_tags($article->getContent('CMS_HTML', '1'));
Es geht dabei ja offensichtlich um eine Teaser, bei dem also nur ein Teil des Textes angezeigt werden soll. Das strip_tags() wird dort vor allem deshalb verwendet, weil es für das Rendering der Website ja ungünstig wäre, wenn im Teaser HTML-Elemente geöffnet, aber durch das Abschneiden nach x Zeichen dann nicht mehr geschlossen werden, z.B.:

Code: Alles auswählen

<p>Das ist der tolle Teaser, der nun einfach abgeschnitten wird ...
Das betrifft damit auch Ausnahmen bei strip_tags().

caps-log
Beiträge: 94
Registriert: Fr 5. Dez 2003, 09:56
Wohnort: Waiblingen
Kontaktdaten:

Re: edit_area

Beitrag von caps-log » Do 11. Feb 2010, 12:22

Die konkrete Verwendung bei der Auflistung mehrerer Artikel geht in diesem Fall nicht vom Abschneiden nach x Zeichen aus. Vielmehr soll die Anzeige des ganzen Textes erfolgen, somit wären die Bedenken in diesem Fall unbegründet. Die Frage ist nur, wie kriege ich die Artikelanzeige so hin, dass der formatierte Inhalt nicht verändert wird?

:-)
Hebt man den Blick,
so sieht man keine Grenzen.
(Aus Japan)

torsten w. licker
caps-log.de/sign

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: edit_area

Beitrag von Dodger77 » Do 11. Feb 2010, 12:38

In dem Fall würde ich folgendes einfach ersetzen:

Code: Alles auswählen

            $teasertext = $article->getField('summary');

            if (strlen(trim($teasertext)) == 0) {
                $teasertext = strip_tags($article->getContent('CMS_HTML', 1));
                $teasertext2 = $teasertext;
                $teasertext = capiStrTrimAfterWord($teasertext, $mxtext);
                if ($teasertext!=$teasertext2) {
                    $teasertext.= '...';
                }
                
            } // end if             

            $teasertext = $teasertext."&nbsp;";
durch:

Code: Alles auswählen

$teasertext = $article->getContent('CMS_HTML', 1);

Gesperrt