Seite 1 von 1

Tiny Initialisierung auch in leerem Layout

Verfasst: Sa 20. Okt 2012, 14:47
von jomako
Ich lasse in einer Übersicht von Terminartikeln (Article_list_advanced) die Inhalte der Artikel, sprich die Termindetails, in einem lightboxpopup darstellen. Da eigene Seiten dafür in diesem Fall nicht sinnvoll/nötig sind. Grundsätzlich sollten die Inhalte per ajax nachgeladen werden.

Dabei ist mir aufgefallen, dass man CMS_HTML etc nicht verwenden kann wenn man ein leeres Layout verwendet. Also keine Head und Body Tags im Layout vorhanden sind. Da der Tiny Editor nicht initialisiert.

In meinem Fall lasse ich nun die Inhalte jetzt in der lightbox in einem Iframe anzeigen. Womit ich nicht unbedingt glücklich bin.

Ich würde es sinnvoll finden, wenn man auch in leeren Layouts die CMS_Types verwenden kann, um die Ausgabe eines Artikels per ajax nachladen zu können (ohne head und body). Ohne dass der Redakteur auf die Editorfunktionalität verzichten muss.

Mich würde eure Meinung dazu interessieren.

Re: Tiny Initialisierung auch in leerem Layout

Verfasst: Sa 20. Okt 2012, 15:59
von xmurrix
Hallo jomako,

ohne eine korrekte HTML-Seite, also ohne head- und body-Tag, wird es sehr schwierig, andere JavaScript Tools im Backend einzubinden, vor allem solche, die zusätzlich Ressourcen (JS oder CSS Dateien) nachladen und an den head- oder body-Tag hinzufügen.
Ich kann mir vorstellen, dass Tiny da einiges macht und ein HTML-Grundgerüst erwartet.

Du kannst aber im Backend ein HTML-Grundgerüst ausgeben und im Frontend nur den Inhalt, z. B. mit folgendem Layout:

Code: Alles auswählen

<?php if (isset($contenido) && isset($edit)) : ?>
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
</head>
<body>
<?php endif; ?>

<container id="123" name="AJAXText" types="Content" mode="optional" default="">Content 123</container>

<?php if (isset($contenido) && isset($edit)) : ?>
</body>
</html>
<?php endif; ?>
Dann hast du im Backend beim Editieren eine HTML-Seite, im Frontend kannst du den Artikel per JavaScript laden und bekommst nur das, was im Container 123 steht.

Gruß
xmurrix

Re: Tiny Initialisierung auch in leerem Layout

Verfasst: Sa 20. Okt 2012, 18:05
von Spider IT
Hallo jomako,

alternativ kannst du im Modul abfragen ob $edit gesetzt ist, und wenn nicht (Frontend oder Vorschau), die bis dahin aufgebaute Seite verwerfen, dein Content ausgeben, und die Verarbeitung beenden.
Die Seite verwirfst du mit ob_end_clean();.
Dein Content gibst du z.B. mit echo aus, oder lässt es ein Template generieren (per ->generate(..., false);).
Die verarbeitung beenden kannst du mit die(); oder exit();.
Eventuell gibst du per header(...); auch noch zusätzliche Informationen aus, aber für Ajax werden diese nicht benötigt, da der Content in eine bestehende Seite eingefügt wird.

Gruß
René

Re: Tiny Initialisierung auch in leerem Layout

Verfasst: Mi 31. Okt 2012, 13:55
von jomako
Schande über mich, dass ich an die Möglichkeit nicht gedacht habe, die html struktur über den Modulbereich zu lösen. ;-)

Naja ich lern gern dazu. Danke für eure Anregungen.

Tiny Initialisierung auch in leerem Layout

Verfasst: Di 24. Nov 2015, 20:16
von Olivshep
den gedanken habe ich auch...
durch NAV_TABLE_COLUMN wir ein Navigation erstellt die aus 4spalten besteht wo kann ich diese eigenschaft andern?

oder wenn ich mouseoverfunktionen fur den Zellenhintergrund in der Navi verwenden mochte wo bringe ich die unter?