Output des wysiwyg beinflussen |
Willkommen, Gast ( Anmelden | Registrierung ) [ Hilfe | Mitglieder | Suche ]
Output des wysiwyg beinflussen |
Mon. 14. July 2008, 19:24
Beitrag
#1
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 |
Hallo zusammen, ich möchte gern den Output des wysiwyg beeinflussen, d.h. eine Funktion darauf anwenden, nachdem die Redakteure tätig waren. Wo ist das am einfachsten und perfomantesten möglich?
Ich habe mal (sozusagen als proof) ein Minimodul dazugepackt. Das tut, was es soll, den Text in zwei Container zu zerlegen. Aber das leider auch im backend, wodurch auch die js zerschnipselt werden. edit: Mist, hier kann ich ja nichts anhängen, dann also die Frontendausgabe: QUELLTEXT <CMSPHP>
function get_multicolumn($content) { $words = explode(' ', $content); $x = count($words); $x = floor($x / 2); $return .= '<div id="content_left">' . "\n"; $return .= '<p>'; $i = 0; foreach ($words as $word) { $return .= $word . ' '; if ($i == $x) { $return .= '</p>' . "\n"; $return .= '</div>' . "\n"; $return .= '<div id="content_right">' . "\n"; $return .= '<p>'; } $i ++; } $return .= '</p>' . "\n"; $return .= '</div>' . "\n"; $return .= '<br style="clear: both" />' . "\n"; return $return; } $content = <cms:mod type = "text" id = "1" addslashes="true"/>; $printout = get_multicolumn($content); print $printout; </CMSPHP> <cms:mod type = "typegroup" elements= "text[1]" title = „Text bearbeiten“ /> -------------------- |
|
|
Mon. 14. July 2008, 20:05
Beitrag
#2
|
|
Advanced Member Gruppe: Moderators Beiträge: 911 Mitglied seit: 26.06.2006 Wohnort: Essen; Ruhrgebiet Mitglieds-Nr.: 4 |
Wenn es nur um Frontend/Backend geht dann lass deinen Code doch nur dann ausführen, wenn Sefrengo im Bearbeitungsmodus ist.
QUELLTEXT if ($view == "edit") { echo "es kann bearbeitet werden!"; } -------------------- |
|
|
Tue. 15. July 2008, 19:47
Beitrag
#3
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 |
Gute Idee, so gehts
QUELLTEXT if ($view == "edit") { $printout = $content; }else { $printout = get_multicolumn($content); } Bleibt nur das Caching. das habe ich noch nicht ganz gepeilt. -------------------- |
|
|
Wed. 16. July 2008, 09:32
Beitrag
#4
|
|
Administrator Gruppe: Members Beiträge: 1.092 Mitglied seit: 16.06.2006 Wohnort: Köln Mitglieds-Nr.: 1 |
Das Caching funktioniert so, dass alle cms:mod Contentelemente nur einmal die PHP Funktionen durchlaufen und der daraus resultierende Output dann gecacht wird. Der Cache wird ereneurt wenn ein Element bearbeitet wird, die Seite verschoben, konfiguriert wird. Das Templat, Modul oder Layout verändert wird.
Wo macht Dir der Cache Probleme? Dateien jeglicher Art kannst Du hier hochladen, wenn Du aus diesen vorher ein Zip Archiv macht. -------------------- Es wird, es wird...
|
|
|
Wed. 16. July 2008, 17:51
Beitrag
#5
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 |
ZITAT Wo macht Dir der Cache Probleme? Beim Verständnis! Hab das Prinzip noch nicht verinnerlicht, cih versuche das aber heute hinzubekommen -------------------- |
|
|
Wed. 16. July 2008, 18:14
Beitrag
#6
|
|
Administrator Gruppe: Members Beiträge: 1.092 Mitglied seit: 16.06.2006 Wohnort: Köln Mitglieds-Nr.: 1 |
Prinzip ist so:
Erster Aufruf der Seite im Frontend: - Prüfung: Ist Seite im Cache: Nein! - Alle <cms:lay, <cms:mod werden aus Layout, Template und Modulen werden zusammengefasst und in einer Variable gespeichert - <CMSPHP:CACHE> und <cms:mod tags werden ausgeführt - Vorkommen von cms://idfile=xy wird ersetzt - das Ergebnis wird in der Tabelle cms_code gespeichert - "dynamisches" PHP wird ausgeführt - Vorkommen von cms://idcatside=xy, cms://idcat=xy werden ersetzt - Seite wird ausgegeben Zweiter Aufruf der Seite im Frontend: - Prüfung: Ist Seite im Cache: Ja! - Seite wird aus der cms_code tabelle gezogen - "dynamisches" PHP wird ausgeführt - Vorkommen von cms://idcatside=xy, cms://idcat=xy werden ersetzt - Seite wird ausgegeben -------------------- Es wird, es wird...
|
|
|
Wed. 16. July 2008, 19:08
Beitrag
#7
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 |
Mhm...
so etwas funktioniert nicht QUELLTEXT ... <CMSPHP:CACHE> //Alle Variablen, die nur innerhalb des gecachten PHPs sichtbar sind, auch für dynamisches PHP zur Verfügung stellen //Auf cms:tags kann nur innerhalb von gecachten PHP zugegriffen werden $element['value'] = <cms:mod type = "wysiwyg2" id = "1" addslashes="true"/>; //innerhalb von gecachten PHP wird ein <CMSPHP> Tag erzeugt. Darin wiederum werden die CMS:tag //Variablen ausgegeben. echo '<CMSPHP>'; if (is_array($element['value'])) { foreach($element['value'] AS $k => $v){ echo '$mvars["'.$k.'"] = "'. addslashes($v) .'";'."\n"; }} echo '</CMSPHP>'; </CMSPHP:CACHE> <CMSPHP> $content = $mvars['value']; if ($view == "edit") { ... Derr Content ist zwar in der DB und wird auch beim Aufruf des wysiwyg angezeigt, aber die html-Ausgabe enthält keinen Text.. Irgendwo gibt es noch einen Denkfehler. PS: Im Wiki sind wohl ein paar eckige Klammern zu viel? -------------------- |
|
|
Guest_bkm_* |
Wed. 16. July 2008, 19:37
Beitrag
#8
|
Guests |
anderes beispiel vll. hilft's
|
|
|
Wed. 16. July 2008, 20:21
Beitrag
#9
|
|
Administrator Gruppe: Members Beiträge: 1.092 Mitglied seit: 16.06.2006 Wohnort: Köln Mitglieds-Nr.: 1 |
Ja, anscheinend war die ['element'] Klammer zu viel. Gehts jetzt?
QUELLTEXT if (is_array($element)) {
foreach($element AS $k => $v){ echo '$mvars["'.$k.'"] = "'. addslashes($v) .'";'."\n"; }} -------------------- Es wird, es wird...
|
|
|
Guest_bkm_* |
Wed. 16. July 2008, 20:30
Beitrag
#10
|
Guests |
@pawel
alles was du geschrieben hast in einen topf und gut umgerührt download entfernt Der Beitrag wurde von bkm bearbeitet: Sun. 27. July 2008, 17:14 |
|
|
Wed. 16. July 2008, 21:05
Beitrag
#11
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 |
Jupp, geht.
Anbei für Eure Experimente...
Angehängte Datei(en)
-------------------- |
|
|
Vereinfachte Darstellung | Aktuelles Datum: 25.9.24 - 10:45 |