Dynamisches Javascript für Flashausgabe

Fragen zur Implementierung und/oder Anpassung von ConPresso 4 werden in diesem Forum diskutiert.
Antworten
leh00
ConPresso-Newbie
Beiträge: 13
Registriert: 29.05.2008 21:00
Hat sich bedankt: 2 Mal

Dynamisches Javascript für Flashausgabe

Beitrag von leh00 »

Hallo Zusammen,

ich möchte, dass der Redaktor optional beim Artikel erfassen, einen Namen eingeben kann und dieser dann entsprechend dynamisch mit Javascript erweitert wird.

Beispiel:

Eingegebener Name "Test.xml"

Ausgabe Conpresso (innerhalb des Templates):

Code: Alles auswählen

		<div id="flash">
			<p><strong>Please install Flash&reg; and turn on Javascript.</strong></p>
		</div>
		<script type="text/javascript">
			// <![CDATA[
			var ba = new SWFObject("../_flash/my.swf");
			ba.addVariable("Config", "../_flash/Test.xml"); <-- hier würde der Name Test.xml eingefügt...
			ba.write("flash");
			// ]]>
		</script>

Wie ich's bis jetzt hinbekommen habe:
- http://community.conpresso.de/viewtopic.php?t=3054 => Pures HTML in Text-Feldern

- im Template:
<!-- ifSet: FlashXML; --><!-- Text: Flashdaten1; html_tags; --><!-- Text: FlashXML; strip_tags; --><!-- Text: Flashdaten2; html_tags; --><!-- /ifSet -->

Nachteil:
- die Javascript-Passagen Flashdaten1 und Flashdaten2 müssen mühsam via copy & paste bei jedem Artikel eingegeben werden - falls eine Flash-Animation gewünscht ist...

Irgendwie stehe ich mir auf dem Schlauch und finde keine bessere Lösung.

Gruss
Leh00
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

mal sehen ob ich das verstanden habe...

das was Du mit "Ausgabe Conpresso" überschrieben hast, ist das was Du in ein Textfeld in ConPresso eingibst, richtig?

Jetzt bräuchtest Du entweder ein Feld, was schon vorbelegt ist...

... oder sowas wie die Snippets im HTML-Editor, oder?

Warum geht es nicht, daß der Code-Teil (Flashdaten1 und Flashdaten2) fest im Template steht und nur der eingebene Text an der gewünschten Stelle beim Parsen eingefügt wird?
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

So sieht z.B. bei mir ein Template aus, das mit den Redakteurseingaben gefüttert wird:

Code: Alles auswählen

<div class="cssbox">
<div class="cssbox_head"><h2><a href="detail.php?nr=<!-- Value: articlenr -->&rubric=<!-- Value: rubric; name; -->" title="<!-- Value: Title; --> - Manchester Terrier - Video betrachten"><!-- Value: Title; --> »»</a></h2></div>
<div class="cssbox_body"><p>
<table><tr><td rowspan="2"><div id="container<!-- Value: articlenr -->"><div style="width:<!-- text: Breite des Videos; -->px;height:<!-- text: Höhe des Videos; -->px;background: transparent url(../_videos/<!-- text: Name des Vorschaubildes; -->)"><div style="background:white;padding:5px;text-align:center;"> Get the <a href="http://www.macromedia.com/go/getflashplayer">Flash Player</a> to see this movie.<br />Sie benötigen den <a href="http://www.macromedia.com/go/getflashplayer">Flash Player</a> um das Video zu betrachten.</div><div></div></td><td class="rightCol"><p><strong><!-- Text: Untertitel; --></strong></p><p><!-- Text: Beschreibung; nl2br; --></p></td></tr><tr><td class="rightCol" style="vertical-align:bottom;"><p><strong>Filmdaten:</strong></p><p>Spielzeit: <!-- Text: Spielzeit; --><br />Dateigröße: <!-- Text: Dateigröße; --><br />Bandbreite: <!-- Text: Bandbreite; --> kb/s<br /></p></td></tr></table></p>
<script type="text/javascript">
var s<!-- Value: articlenr --> = new SWFObject("../_swfplayer/mediaplayer.swf","mediaplayer","<!-- TEXT: Breite des Videos; -->","<!-- TEXT: Höhe des Videos; -->","8");
s<!-- Value: articlenr -->.addParam("allowfullscreen","true");
s<!-- Value: articlenr -->.addVariable("width","<!-- TEXT: Breite des Videos; -->");
s<!-- Value: articlenr -->.addVariable("height","<!-- TEXT: Höhe des Videos; -->");
s<!-- Value: articlenr -->.addVariable("bufferlength","<!-- TEXT: Pufferzeit in Sekunden; --><!-- ifNotSet: Pufferzeit in Sekunden; -->5<!-- /ifNotSet -->");
s<!-- Value: articlenr -->.addVariable("file","../_videos/<!-- TEXT: Name des Videos; -->");
s<!-- Value: articlenr -->.addVariable("recommendations","../_videos/recommendations.xml");
s<!-- Value: articlenr -->.addVariable("image","../_videos/<!-- TEXT: Name des Vorschaubildes; -->");
s<!-- Value: articlenr -->.addVariable('shownavigation','false');
s<!-- Value: articlenr -->.write("container<!-- Value: articlenr -->");
</script>
</div>
</div> 
Das Ergebnis siehst Du auf www.manchesterterrier.de

und die Eingabe sieht dasnn so aus (s.u.)
Dateianhänge
flash-artikel.gif
flash-artikel.gif (13.29 KiB) 6356 mal betrachtet
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
leh00
ConPresso-Newbie
Beiträge: 13
Registriert: 29.05.2008 21:00
Hat sich bedankt: 2 Mal

Beitrag von leh00 »

Hallo Markus,

besten Dank für deine Antwort.

So wie von dir beschrieben, habe ich das auch schon versucht...

Code: Alles auswählen

<!-- /ifSet -->
<!-- ifSet: FlashXML; --><div id="flash"><p><strong>Please install Flash&reg; and turn on Javascript.</strong></p></div><script type="text/javascript">// <![CDATA[ var ba = new SWFObject("../_flash/my.swf"); ba.addVariable("Config", "../_flash/<!-- Text: FlashXML; html_tags; -->"); ba.write("flash"); // ]]></script><!-- /ifSet -->
Wenn das so im Template ist, funktioniert der Javascript nicht, da die einzelnen Codezeilen nicht als solche erkennt werden. Wenn ich die erzeugte HTML-Seite speichere und die Elemente "// <![CDATA[" und " // ]]>" auf eigene Zeilen verweise funktioniert alles einwandfrei...

Hast du eine Idee wie ich diese "Zeilenümbrüche" im Template so hinkriege? Mit <br /> scheiterts... und wenn ich grössere Abstände im Template mache, werden &nbsp; eingefügt und funzen tuts auch nicht.

Schon mal Danke für deine Hilfe...

Gruss
Leh00
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Achso, der Spaghetti-Code ist Dein Problem? (Oder das des Browsers...)

Dafür gehst Du ans Ende von _include/select_template.php und änderst den Teil

Code: Alles auswählen

    if ($pagetype != 'js') {
        print($output);
        continue;
    }
um in

Code: Alles auswählen

    if ($pagetype != 'js') {
        print($output."\n");
        continue;
    }
also ein

Code: Alles auswählen

."\n"
in die Ausgabezeile, dann werden die Templateausgaben nicht komprimiert.

edit: blöde Tippfehler...
Zuletzt geändert von MarkusR am 21.03.2009 13:19, insgesamt 1-mal geändert.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
leh00
ConPresso-Newbie
Beiträge: 13
Registriert: 29.05.2008 21:00
Hat sich bedankt: 2 Mal

Beitrag von leh00 »

Hallo Markus,

vielen Dank für deine Hilfe... Das hat super geklappt...!

Gruss
Leh00
Antworten