cpo variablen in Flash?

Fragen zur Implementierung und/oder Anpassung von ConPresso 4 werden in diesem Forum diskutiert.
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

cpo variablen in Flash?

Beitrag von dutch »

Hi,

hat jemand Erfahrung mit cpo und Flash?
Ich würde gerne einen Flash-film in eine cpo4 site einbauen und dann im Flash-film in einem Textfeld eine cpo variable (z.B. $cpoRubric['name']) ausgeben lassen.

Das ist wahrscheinlich eher eine Flash-Frage und keine direkte conpresso-Frage, aber ich dachte vielleicht habe ich Glück und jemand hier hatte schon einmal ein ähnliches Problem und obendrein Ahnung von Flash?!

Grüße,
dutch
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7361
Registriert: 01.01.1970 01:00
Hat sich bedankt: 110 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Grundsätzlich ist das kein Problem.

Das heißt in Flash "Action Script". Damit kann man Variabeln und ganze Dateien lesen und verarbeiten lassen.

Das Handbuch zu Action Script:
http://livedocs.adobe.com/flash/8_de/ma ... ASLR2.html

Ich selbst bin da unwissend, habe aber schon mehrfach mit einem Webdesigner Inhalte aus ConPresso an Flash übergeben, z.B. Text aus ConPresso als Welle durch ein Flash-Filmchen laufen lassen...
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
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Danke für den Link.
Ich habe schon ein bißchen Ahnung von Flash aber ich weiß nicht aus welchen cpo Dateien ich die cpo variablen auslesen kann.
Kannst du mir da noch weiterhelfen?

Gruß,
dutch
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7361
Registriert: 01.01.1970 01:00
Hat sich bedankt: 110 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Da stelle ich mir mehrere Möglichkeiten vor:
1.) mittels Template-Platzhaltern kann ein embedding-code gefüttert werden. So sieht z.B. mein Template für die Einbindung von Flash-Videos mittels SWF-Player aus:

Code: Alles auswählen

<div class="cssbox">
<div class="cssbox_head"><h2><!-- Value: Title; --></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> 
Was dabei rauskommt sieht man unter
http://manchesterterrier.de/_rubric/ind ... ash-Videos

2.) Man schreibt sich einfach eine PHP-Datei, die im Grunde wie die index.php aussieht, nur eben weder header noch i_index.php noch footer ausgibt sondern einfach nur Augaben wie

Code: Alles auswählen

echo "Rubrikname=".$cpoRubric['name']."\n";
tätigt. So eine Textdatei kann dann mittels Action-Script ausgelesen werden und damit Script-Variablen in Flash gefüttert werden.
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
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Hallo Markus,

ok, verstehe. Man muss also schon eine eigene PHP Datei anlegen.
Ich dachte, dass man vielleicht direkt aus einer bestehenden cpo-Datei auslesen könnte aber da spielt wohl Actionscript nicht mit.

Danke!!
Damit bekomme ich es hin, denke ich.

Grüße,
dutch
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Wenn man das Flash erstellt sollte man es in einem Textfeld mit dieser Modifikation benutzen: http://community.conpresso.de/viewtopic.php?t=3054

Der HTML-Editor ist da eher nicht geeignet, um dort wechselnden Flash-Code einzubauen.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7361
Registriert: 01.01.1970 01:00
Hat sich bedankt: 110 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Man kann das auch mit Bordmitteln machen.

Man schreibt z.B. in den JS/PHP eines Templates nur
<!-- VALUE: Rubric; name; -->
(siehe HAndbuch!)

erstellt dann einen einzigen Artikel in dieser Rubrik (nennen wir sie mal "Flash")

und ruft
_/rubric/index_php.php?rubric=Flash
auf

Dann sieht man auf dem Bildschirm nur das Wort "Flash" (weil man ja den Rubrknamen wollte. Und das sieht naturlich auch Action Script, wenn es diese URL aufruft.
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
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Danke für die Vorschläge.

Was ich konkret mit Flash realisieren möchte ist, am rechten (oder linken) Rand des content-Bereichs der site per Rubrik den Rubriknamen vertikel in großen Buchstaben ausgeben lassen.

Da das mit HTML+CSS meines Wissens nicht geht und große Buchstaben ohne antialias sowieso immer sehr pixelig werden, dachte ich, ich baue in den local-header einen Flashfilm, der eben den Rubriknamen ausliest und dann schön geglätteten Flashtext ausgibt ;)

Ich könnte natürlich für jede Rubrik ein eigenes Verzeichnis anlegen mit eigenem Flashfilm, aber das wäre natürlich uncool ...

Ich versuche es jetzt mal mit dem Auslesen der PHP variablen durch Flash.

Gruß,
dutch
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Dein Vorhaben sollte sich auch mit einem einfachen PHP-Bild realisieren lassen, indem du als Parameter immer den Rubriknamen übergibst.

Von den Mechanismen her ist das ähnlich einer Captcha-Grafik möglich, ohne jedoch einen Kontrollwert irgendwo hinterlegen zu müssen oder einen Zufallswert zu generieren.

Und zusätzlich kann eine Grafik immer ohne Flash-Plug-In angezeigt werden, ist also kompatibler zu Browsern und Plugins.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Leider sind meine PHP Kenntnisse recht beschränkt ... :(
Zum Glück ist die Verbreitung des Flash-Plugins inzwischen sehr groß.
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Hallo,

ich habe inzwischen ein bisschen getestet und im Prinzip bekomme ich auch Variablen von PHP in den Flashfilm geladen.
Nur leider klappt es nicht mit den cpo Variablen...?

Wahrscheinlich stelle ich es mir zu einfach vor...

Ich habe eine PHP Datei angelegt, in der lediglich das folgende steht:

Code: Alles auswählen

$rubrikwert = $cpoRubricSettings['title'];
echo '&rubrikname='.$rubrikwert; 


Die Datei liegt im Rubrikverzeichnis. Was muss ich noch tun, damit die cpo Variablen in dieser Datei verfügbar sind? - Ich nehme an, da liegt das Problem, oder??

Gruß,
dutch
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7361
Registriert: 01.01.1970 01:00
Hat sich bedankt: 110 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

In der index.php steht folgendes:

Code: Alles auswählen

<?php 

define('CPO', true);
require_once('../_include/common.inc.php');

$pagetype = 'index';
require(CPO_BASEDIR.'_include/var_category.php');
require(CPO_BASEDIR.'_include/secure.php');

include(CPO_BASEDIR.$directory.'/loadheaders.php');
require(CPO_BASEDIR.'_includesite/i_index.php');
include(CPO_BASEDIR.$directory.'/loadfooters.php');
?>
Wenn man nun das hier befolgt
Man schreibt sich einfach eine PHP-Datei, die im Grunde wie die index.php aussieht, nur eben weder header noch i_index.php noch footer ausgibt
dann bleibt das hier übrig:

Code: Alles auswählen

<?php 

define('CPO', true);
require_once('../_include/common.inc.php');

$pagetype = 'index';
require(CPO_BASEDIR.'_include/var_category.php');
require(CPO_BASEDIR.'_include/secure.php');


?>
In die entstandene Lücke schreibt man Dein
$rubrikwert = $cpoRubricSettings['title'];
echo '&rubrikname='.$rubrikwert;
und erhält somit

Code: Alles auswählen

<?php 

define('CPO', true);
require_once('../_include/common.inc.php');

$pagetype = 'index';
require(CPO_BASEDIR.'_include/var_category.php');
require(CPO_BASEDIR.'_include/secure.php');

$rubrikwert = $cpoRubricSettings['title']; 
echo '&rubrikname='.$rubrikwert; 

?>
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
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Hallo Markus,

:!: mea culpa!

Da bewahrheitet sich mal wieder der Spruch: "Wer lesen kann, ist klar im Vorteil." :roll:

Irgendwo mussten die Variablen ja herkommen...

Nochmal danke.

Gruß,
dutch
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Hallo,

mit den entsprechenden Ergänzungen in der PHP Datei (siehe oben) klappt es jetzt auch mit den cpo Variablen wunderbar!

Jetzt habe ich nur noch ein kleines zweites Problem:
Ich habe mehrere Rubriken angelegt, die auf die Rubrikeinstellungen einer anderen Rubrik (ich nenn sie hier mal "main") zugreifen.
Jede Rubrik hat ein eigenes Rubrikverzeichnis. Wenn ich jetzt z.B. $cpoRubric['name'] einer Rubrik auslese, dann bekomme ich immer den Rubriknamen von "main" ausgegeben und nicht den eigentlichen Rubriknamen der Rubrik.

Gibt es hierfür eine Lösung?

Gruß,
dutch
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7361
Registriert: 01.01.1970 01:00
Hat sich bedankt: 110 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Wie rufst Du die Datei auf?

Mit Parametern (also ?rubric=Rubrik) oder ohne. Im letzten Fall passiert das von Dir (und auch dem Handbuch) beschriebene. ConPresso-Rubriken werden in 3.4.x über das Verzeichnis, in 4.0.x aber über ?rubric=NameODERNummer aufgerufen...
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
Antworten