Flash im Header wird nicht gespielt

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Ja, aber so ist das halt mit Framesets :-)

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
ostfriese2004
Regular
Posts: 76
Joined: Tue Feb 13, 2007 11:12 pm

Post by ostfriese2004 »

Garvin,

kann man denn irgendwo etwas einfügen, dass beispielsweise auf "allen Unterseiten" eine Standardgrafik statt des Headers eingelesen wird? Oder dass beispielsweise eine zweite index.tpl (index2.tpl) im Anschluss immer aufgerufen wird, in der anstelle des Flashfilms nur eine Grafik drin ist? Also beim ersten Aufruf der Seite wird standardmäßig index.tpl geladen, und wenn sonst irgendwo etwas aufgerufen wird eben index2.tpl?
Last edited by ostfriese2004 on Thu Feb 22, 2007 11:08 am, edited 1 time in total.
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!
kann man denn irgendwo etwas einfügen, dass beispielsweise auf "allen Unterseiten" eine Standardgrafik statt des Headers eingelesen wird? Oder dass dann beispielsweise eine zweite index.tpl aufegrufen wird, in der anstelle des Flashfilms nur eine Grafik drin ist?
Nein, dann müsstest du ja aus dem Frameset komplett ausbrechen und kommst nicht "zurück".

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
ostfriese2004
Regular
Posts: 76
Joined: Tue Feb 13, 2007 11:12 pm

Post by ostfriese2004 »

ne, ich meine jetzt wieder ohne Frameset, es muss doch irgendwo eine Funktion geben, die immer wieder index.tpl aufruft. Wenn man daraus einfach index2.tpl macht?

** Nachtrag: **

Ich rufe index2.tpl beim ersten Browser-Aufruf via htaccess auf. Dann habe ich noch eine zweite Dtaei im Verzeichnis namens index.tpl - die müsste ja dann sonst immer aufgerufen werden. Mal probieren ...

hmm, ne, es wird ja index.php aufgerufen...

Und wenn ich via htaccess eine index2.php zum ersten Start aufrufe, die index2.tpl aufruft? Vielleicht wird ja sonst immer wieder auf index.php verwiesen, die dann halt ganz normal index.tpl aufruft. Im Prinzip ist der Flashheader ja nur ne kleine Intro, die nur beim ersten Aufruf angezeigt werden soll; bei jedem weiteren Aufruf wird die Animation dann durch eine Grafik ersetzt...
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Bastel eine index.html die dein flashintro ausführt, und leite von der index.html dann auf index.php weiter?

Noch leichter ginge das wenn du s9y in einem unterverzeichnis deines servers installiert hast. Dann erstellst du im stammverzeichnis deine index.html mit Flash und leitest dann auf das s9y unterverzeichnis weiter. Dann hast Du nämlich auch keine Probleme mit URL-Rewriting...

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
ostfriese2004
Regular
Posts: 76
Joined: Tue Feb 13, 2007 11:12 pm

Post by ostfriese2004 »

Dann wird ja erst die Flash-Animation gespielt, und dann erst der restliche Kram geladen; so meinte ich das nicht. Guck mal hier: http://www.buchheister.net/ostfriesenblog-head.swf

Dieser Header wird gespielt, wenn jemand das Blog aufruft. Leider wird er ja immer wieder geladen, wenn irgendwo etwas angeklickt wird. Das ist beispielsweise nervig wegen des Tons, womöglich holt er sich die Datei auch immer wieder vom Server (60k). Meine Idee war nun, dass ich diese Animation praktisch mit dem letzten Bild ersetze. Etwa als statischer .JPG-Backgrounder oder aber als ganz kleines (zweites) Flashfile, wo nur das letzte Bild des Flashintros zu sehen ist.

Des Weiteren war die Idee, dass ich das realisiere, indem ich zunächst via htaccess eine neu erstellte Datei namens index2.php beim ersten Start aufrufen lasse. Also jemand gibt http://www.ostfriesenblog.de ein und dann wird eben index2.php mit dem in index2.tpl (ebenfalls eine Kopie der ursprünglichen index.tpl - da wird der Header ja eingeladen) angegeben Flashheader aufgerufen. Von irgendwo muss index.tpl mit der Header-Angabe ja eingelesen werden.

Wenn nun aber jemand irgendwo etwas anklickt, wird die möglicherwiese wieder die reguläre Seite mit index.php samt index.tpl ohne das eingebettene Flash-File (nur Grafik) geladen.

Insofern müsste ich doch nur in der index2.php einstellen, dass index2.tpl mit der Flashheader-Angabe geladen wird. Klickt dann jemand irgendwo im Blog etwas an, wird immer ganz regulär index.php mit index.tpl (ohne Flash) aufgerufen, weil das überall so von Natur bzw. von dir aus so angegeben ist...

Das war meine Idee, die aber natürlich nur funktioniert, wenn index.php auch index.tpl aufruft. So habe ich das nämlich verstanden. Geht das?

:D
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Das mit deiner index.php und so klappt nicht, da ist ein großer Denkfehler drin: Alles von serendipity wird über index.php abgehandelt, das template ist für alle folgeseiten immer gleich.

Du kannst ein PHP-Script entwickeln was einen Cookie oder eine Session-Variable setzt, wenn die Animation zum ersten mal gezeigt wurde, und dann bei jeder folgeseite nicht mehr. In index.tpl (Pseudocode):

Code: Select all

{if $smarty.cookies.animation_gemacht}
<img src="header.jpg" />
{else}
<flash>
<script type="text/javascript">
var today  = new Date();
var expire = new Date();
expire.setTime(today.getTime() + (60*60*24*30));
document.cookie = 'animation_gemacht=1;expires=' + expire.toGMTString();
</script>
{/if}
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
ostfriese2004
Regular
Posts: 76
Joined: Tue Feb 13, 2007 11:12 pm

Post by ostfriese2004 »

Herzlichen dank!
Okay, habe es eingebunden, klappt. Hier die Lösung aus der index.tpl für alle, die Ähnliches vorhaben:

<div id="header">
<div id="serendipity_banner">
{if $smarty.cookies.animation_gemacht}
<img src="http://www.buchheister.net/ostfriesenblog-head.jpg" />
{else}
<script type="text/javascript" src="http://www.buchheister.net/swfobject.js"></script> <div id="flashcontent"><img src="http://www.buchheister.net/ostfriesenbl ... jpg"></div> <script type="text/javascript"> var so = new SWFObject("http://www.buchheister.net/Ostfriesenblog-Head.swf", "Ostfriesenblog-Head", "900", "200", "6", "#336699"); so.write("flashcontent");
var today = new Date();
var expire = new Date();
expire.setTime(today.getTime() + (60*60*24*30));
document.cookie = 'animation_gemacht=1;expires=' + expire.toGMTString();
</script>
{/if}
</div>
</div>

Auf deutsch: :-)
überprüfe ob Cookie gesetzt; wenn ja, dann zeige Grafik. Wenn nicht, dann überprüfe ob Flashplayer installiert ist (via swfobject-js-code). Wenn ja, spiele Flash, wenn nein: zeige Hintergrundgrafik.

Dazu noch eine Frage: Was bedeuten die Expire-Settings? Kann man die so einstellen, dass die Variable nach fünf Minuten bereits wieder gelöscht wird? Unterhalb der oberen Navigationsleiste (aus dem coffeebar-theme) habe ich ein Menü. Ganz links steht Startseite/Homepage. Wenn die aufgerufen wird, gelangt man wieder auf die Startseite, vermutlich wird index.php aufgerufen. Kann ich da eine Abfrage reinsetzen, die den Cookie wieder auf null setzt? Also, wenn "Homepage" aufgerufen wird, dann setze Cookie wieder auf null, so dass dann die Flashanimation wieder gespielt wird?

Du hast damit übrigens ein Problem gelöst, das in zig Flashforen oder solchen von Content Management Systemen angesprochen wurde, bei denen ähnliches passiert. Und keiner wußte eine funktionierende Lösung. Mit anderen Worten: Hervorragend, setzen, Eins!
Post Reply