TinyMC | Smarty | cms_selflink | Javascript --> falscher Output Topic is solved

Deutschsprachiger Support für CMS Made Simple
Post Reply
babulski

TinyMC | Smarty | cms_selflink | Javascript --> falscher Output

Post by babulski »

Hallo, zusammen.
Wie das Subject schon zeigt, ist das hier wohl ein komplexeres Problem.

Hintergrund: um eine ausgeblendete DIV einzublenden, verwende ich eine Javascriptfuntion. Es wird ein selflink gesetzt (href="#"). Das geht mit CMSMS bekanntlich nicht gerade unproblematisch, deshalb verwende ich den TAG 'cms_selflink'. Mit diesem Plugin wird das Script folgendermassen aufgerufen. Siehe Code:

Code: Select all

{cms_selflink dir='anchor' anchorlink='#' text='overlay zeigen' title='overlay anzeigen' more='onclick="showbox('main_overlay3'); showOverlayBoxes('main_overlay3')"'}
Ist alles ganz wunderbar, es funktioniert (in FF und Safari).
NUR:

Der erzeugte Quellcode ist nicht valide. Und IE weigert sich, das Script auszuführen.
Ist ja auch verständlich, wirft man einen Blick auf den via Smarty geparsten Quellcode:

Code: Select all

<a href="blablabla#" title="overlay anzeigen" 'onclick="showbox('main_overlay2'); showOverlayBoxes('main_overlay2')"'>overlay zeigen</a>[/tt]
Vor und nach der onclick - funktion hat sich ein tick ( ' ) eingeschlichen. So kann das ja nicht gehen.

FRAGE:

Wo liegt hier der Fehler? Falsche Syntax? Ich habe cms-selflink auch schon mit Anführungzeichen ( " ) probiert. Geht nicht. TinyMC übersetzt &39; für den tick nicht. Im Sourcecode ist auch nichts möglich.

Was tun?
Jemand eine Idee?
Vielen Dank! Babulski
babulski

Re: TinyMC | Smarty | cms_selflink | Javascript --> falscher Output

Post by babulski »

Hello again!

Ich konnte das Problem zwischenzeitlich selber lösen  ;)
Es ist zwar etwas unorthodox -- aber praktikabel.
Die Lösung soll also niemandem vorenthalben bleiben  8)

Der Trick besteht darin, den href="#" in einem global_content zu verpacken, der zusätzlich mit einem literal umschlossen ist -- nennen wir ihn mal "showbox1".

Also:

Code: Select all

{literal}
<a href="http://absoluter.pfad.zur.datei#" title="overlay anzeigen" onclick="showbox('main_overlay1'); showOverlayBoxes('main_overlay1')">overlay zeigen</a>
{/literal}
Die einzublendende DIV wird auch per global_content eingebunden -- nennen wir sie "overlay1":

Code: Select all

{literal}
<div id="main_overlay1" style="display: none">
 <div class="overlay_content">
   <div class="closebox">
    <a href="http://absoluter.pfad.zur.datei#" title="schliessen" onclick="dismissbox('main_overlay1')"><img src="uploads/images/closebox.jpg" alt="schliessen" /> </a>
   </div>
overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1 overlay content 1
 </div>
</div>
{/literal}
In TinyMCE werden dann beide Funktionen folgendermassen eingebaut:

{global_content name="overlay1"}
{global_content name="showbox1"


Das Ergebnis ist W3C-valide und macht's auch mit IE5.5+

Ich hoffe, mit dieser Lösung können einige was anfangen.
Babaulski
cyberman

Re: TinyMC | Smarty | cms_selflink | Javascript --> falscher Output

Post by cyberman »

babulski wrote: Wo liegt hier der Fehler? Falsche Syntax? Ich habe cms-selflink auch schon mit Anführungzeichen ( " ) probiert. Geht nicht. TinyMC übersetzt &39; für den tick nicht. Im Sourcecode ist auch nichts möglich.
Hast du es schon mit Änderungen der

Code: Select all

valid_elements :
versucht?
babulski

Re: TinyMC | Smarty | cms_selflink | Javascript --> falscher Output

Post by babulski »

Code: Select all

valid_elements:
nein, habe ich noch nicht versucht. wo finde ich diesen eintrag/tag überhaupt?  ;)
babulski

Re: TinyMC | Smarty | cms_selflink | Javascript --> falscher Output

Post by babulski »

Hi Cyberman.
Ich würde den 'hack' ja gerne in der TinyMCE.module.php abspeichern -- aber:
auf meinem Server ist im Verzeichnis /modules/TinyMCE rein gar nichts drin!
WTF!?
Das System läuft unter 1.02, TinyMCE wurde über den ModuleManager installiert.
Any ideas?
cyberman

Re: TinyMC | Smarty | cms_selflink | Javascript --> falscher Output

Post by cyberman »

Schiebs doch einfach noch mal per FTP hoch ...
babulski

Re: TinyMC | Smarty | cms_selflink | Javascript --> falscher Output

Post by babulski »

Ich weiss nicht ... den Tiny erneut per FTP drüberbügeln?
Ehm, ich befürchte, dass diese Aktion mir das ganze System zerschiesst.
Vielleicht ist das besser: -> Modules/Uninstall/Install?
cyberman

Re: TinyMC | Smarty | cms_selflink | Javascript --> falscher Output

Post by cyberman »

Wenn das TinyMCE-Verzeichnis wirklich leer ist, stellt sich die Frage, was da deinstalliert werden soll :) ... aber einen Versuch ist es wert.
babulski

Re: TinyMC | Smarty | cms_selflink | Javascript --> falscher Output

Post by babulski »

Interessant ist doch die Frage, warum TinyMCE überhaupt läuft -- wenn nichts im Modul-Ordner installiert ist!?

Image


Wie du siehst: existent.
BTW: wie verwaltet der neue Module-Manager die einzelnen Packages? Alles  in die DB drücken, oder was?? :D
cyberman

Re: TinyMC | Smarty | cms_selflink | Javascript --> falscher Output

Post by cyberman »

Der ModulManager kann nur Module von einem Server als XML-Dateien herunterladen und dann daraus wieder Klartext (sprich einzelne Dateien) machen, weiter nix. Eine Verwaltung im klassischen Sinne findet da nicht statt.
babulski

Re: TinyMC | Smarty | cms_selflink | Javascript --> falscher Output

Post by babulski »

Das Prozedere "XML" -> "Source" ist schon klar.
Bloß: wo speichert der Midole-Manager diese decodierten files ab?
Ich habe gerade den gesamten Server durchsucht, per DB-Admin die Datenbank durchforstet -- nichts da?
Das kann doch eigentlich nicht gehen. Aber TinyMC funzt ... (Gleiches gilt übrigens für 'Feedbackform', das auch per MM installiert wurde.)
Ted mal fragen? ;)
cyberman

Re: TinyMC | Smarty | cms_selflink | Javascript --> falscher Output

Post by cyberman »

babulski wrote: Bloß: wo speichert der Midole-Manager diese decodierten files ab?
Gar nicht - die Modulverzeichnisse werden aus den XML-Dateien extrahiert, welche anschließend gelöscht werden. Ich sagte doch - da wird nix verwaltet :).
Das kann doch eigentlich nicht gehen. Aber TinyMC funzt ...
Wenn ein Modul funktionieren soll, MUSS es zwingend im Verzeichnis /modules vorhanden sein, also auch bei dir. Keine Ahnung, warum du die Dateien nicht sehen kannst  ::) ...
Last edited by cyberman on Mon Oct 23, 2006 2:16 pm, edited 1 time in total.
babulski

Re: TinyMC | Smarty | cms_selflink | Javascript --> falscher Output

Post by babulski »

Ouch, hau mich mal!  ;)
Ich hatte total vergessen, dass ich CMSMS auf diesem Server per Shell installiert habe.
Die Zugriffrechte standen demensprechend falsch (wwwrun).
Einmal chown auf FTP-User und die Gurke flutscht.
So, jetzt aber mal schnell den Hack eingepatched ...

Thanx for the patience!
Post Reply

Return to “German - Deutsch”