Seite 22 von 34

Verfasst: 07.09.2008 21:54
von issjut
merkt der user etwas davon? Eigentlich ja nicht, weil der entsprechende Teil ja eh nicht permanent angezeigt wird, oder?

Aber würde dann nicht auch das popup (als beispiel: alle 2 minuten) neu erscheinen? Aber ich bräuchte ja eh kein Popup wenn nen ton da ist... und das sich der alle 2 minuten wiederholt sollte ja auch so sein :D

Ich würde das einfach mal ausprobieren! Könntest du mir noch sagen, wie ich es hin bekomme, dass die html datei alle X Zeiteinheiten refreshed!?

Danke schon mal!

Verfasst: 07.09.2008 22:17
von 4seven
keine sorge: den include dürftest du garnicht sehen oder bemerken, da kein html sondern nur java enthalten ist. dennoch kann man ihn ansteuern :wink:
Aber ich bräuchte ja eh kein Popup wenn nen ton da ist... und das sich der alle 2 minuten wiederholt sollte ja auch so sein :D
hatte ich auch genauso verstanden ^^

Verfasst: 08.09.2008 20:57
von issjut
Kannst Du mir noch erklären wie ich es hin bekomme, dass die "includierte" datei refreshed wird? Übrigens hab ich durch einen Mod die popup Funktion bei neuer PM deaktiviert (den code in der overall_header.html "auskommentiert") Gibt es auch eine Möglichkeit deinen Mod ohne diese Popup funktion zu nutzen?

Verfasst: 08.09.2008 21:33
von 4seven
Gibt es auch eine Möglichkeit deinen Mod ohne diese Popup funktion zu nutzen?
als erstes sollte das noch aus der overall_header.html entfernt werden

prosilver

Code: Alles auswählen

	<!-- IF S_USER_PM_POPUP -->
		if ({S_NEW_PM})
		{
			var url = '{UA_POPUP_PM}';
			window.open(url.replace(/&/g, '&'), '_phpbbprivmsg', 'height=225,resizable=yes,scrollbars=yes, width=400');
		}
	<!-- ENDIF -->
subsilver2

Code: Alles auswählen

<!-- IF S_USER_PM_POPUP -->
	if ({S_NEW_PM})
	{
		popup('{UA_POPUP_PM}', 400, 225, '_phpbbprivmsg');
	}
<!-- ENDIF -->
dann tu das hier direkt unter den <body **>

Code: Alles auswählen

<!-- IF S_USER_NEW_PRIVMSG != 0 -->
<!-- IF S_SOUND_GLOBAL_OFF -->
<!-- IF S_SOUND_PM -->
<div style="position:absolute; top:-80px; left:-80px;">
<object type="application/x-shockwave-flash" data="{SOUND_PM_URL_PLAYER}emff/emff_easy_glaze_small.swf" width="1" height="1">
 <param name="movie" value="{SOUND_PM_URL_PLAYER}emff/emff_easy_glaze_small.swf" />
 <param name="FlashVars" value="src={SOUND_PM_URL}&autostart=yes" />
</object>
</div>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- ENDIF -->
und ändere in der functions.php

das hier

Code: Alles auswählen

     include_once($phpbb_root_path . 'includes/functions_so_at_pm.' . $phpEx);

    // The following assigns all _common_ variables that may be used at any point in a template.
	$template->assign_vars(array(

in das

Code: Alles auswählen

     include($phpbb_root_path . 'includes/functions_so_at_pm.' . $phpEx);

    // The following assigns all _common_ variables that may be used at any point in a template.
	$template->assign_vars(array(
Kannst Du mir noch erklären wie ich es hin bekomme, dass die "includierte" datei refreshed wird?


es funktioniert zwar alles gut, doch macht der ie mal wieder meine träume zunichte. crossbrowser-ajaxscripte, die variabel zwischen <div id und <div name anweisung funktionieren, sind wohl noch nicht ganz reif. programmieren könnte so schön sein :roll:
Übrigens hab ich durch einen Mod die popup Funktion bei neuer PM deaktiviert (den code in der overall_header.html "auskommentiert
was ist das für ein mod?

Verfasst: 09.09.2008 18:37
von issjut
der mod nennt sich pm alert layer. Müsste mal den Link auf phpbb.com raussuchen.

Mit Deiner Änderung klappt es jetzt auch wunderbar. Fehlt nurnoch die sache mit dem automatischen refreshen.

Wenn ich das mal auf deinen neuen code anwende, dann müsste also dieser Teil:

Code: Alles auswählen

<!-- IF S_USER_NEW_PRIVMSG != 0 -->
<!-- IF S_SOUND_GLOBAL_OFF -->
<!-- IF S_SOUND_PM -->
<div style="position:absolute; top:-80px; left:-80px;">
<object type="application/x-shockwave-flash" data="{SOUND_PM_URL_PLAYER}emff/emff_easy_glaze_small.swf" width="1" height="1">
 <param name="movie" value="{SOUND_PM_URL_PLAYER}emff/emff_easy_glaze_small.swf" />
 <param name="FlashVars" value="src={SOUND_PM_URL}&autostart=yes" />
</object>
</div>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- ENDIF -->
in eine extra Datei mit dem Namen pm_refresh.html, welche ich dann mit
<!-- INCLUDE pm_refresh.html --> ins template "einbette"

Richtig?

Aber wie mache ich es nun, dass sich diese datei automatisch refreshed??

Sorry falls ich mich etwas blöde anstelle, aber irgendwie hab ich das noch nicht ganz verstanden ;)

Verfasst: 09.09.2008 20:52
von 4seven
hi issjut,

das refreshen der pm_refresh.html erfolgt aus der hauptdatei, der overall_header.html im header und wird mittels ajax in ein div geladen, der in der overall_header unterhalb des <body ** bereichs lagert. das problem hierbei ist der internet explorer. mit den gängigen browsern geht es.

kannst ja mal an dem beispiel hier testen:
http://www.pixel2life.com/forums/index. ... hl=refresh

mit <div id="refreshoutput"> erzeugt es im ie einen java fehler, mit <div name="refreshoutput"> nicht. dafür geht die funktion im ie dann wieder nicht. für die meisten browser spielt es keine rolle. der javafehler sorgt ua. dafür, das die postbox nicht mehr funktioniert. man kann genau einen tag eingeben (zb ) dann kommt der ie fehlermelder unten.

falls du selbst gucken magst. hab alle gängigen scripte durch und auch das "königsmodul" geht nicht (ohne fehlermeldung) im ie http://www.prototypejs.org/api/ajax/periodicalUpdater . auch dieser innovative fix brachte da nichts http://code.google.com/p/xmlhttprequest/

das gleiche problem hatte ich mit diesem genialen script für sonderschriftarten > jir, http://sekuro.se.funpic.de/phpbb3/viewt ... ?f=16&t=72 mit dem man als bbcode pseudoklassen erzeugen kann, die in allen browsern funktionieren und sogar strict sind. und wieder macht es der ie mit seinem js-child-problemen kaputt (Unerwarteter Aufruf oder Zugriff) . sollte eigentlich die sifr sonderschriftarten ersetzen, da die jir-methode effektiver und eleganter zu formatieren ist. aber leider.. :roll:

Verfasst: 10.09.2008 06:57
von issjut
ich hab gestern mal etwas gegoogelt, aber so richtige Erfolge hat es auch nicht gebracht. Irgendwie scheint es mir auch, als würde das alleinige refreshen von:

Code: Alles auswählen

<!-- INCLUDE pm_refresh.html -->
garnix bringen :(

Inhalt der pm_refresh.html:

Code: Alles auswählen

<!-- IF S_USER_NEW_PRIVMSG != 0 -->
<!-- IF S_SOUND_GLOBAL_OFF -->
<!-- IF S_SOUND_PM -->
<div style="position:absolute; top:-80px; left:-80px;">
<object type="application/x-shockwave-flash" data="{SOUND_PM_URL_PLAYER}emff/emff_easy_glaze_small.swf" width="1" height="1">
 <param name="movie" value="{SOUND_PM_URL_PLAYER}emff/emff_easy_glaze_small.swf" />
 <param name="FlashVars" value="src={SOUND_PM_URL}&autostart=yes" />
</object>
</div>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- ENDIF -->
Wäre es denn vielleicht irgendwie möglich das ganze schon in der php-datei zu integrieren.

Hab hier mal nen kleines Tutorial gefunden.

http://www.powie.de/cms/artikel/artikel.php?id=60

keine Ahnung ob es weiterhilft :grin:

Auf jeden Fall schmeißt google eine menge Ergebnisse aus, wenn man z.b. nach refresh div ajax sucht und es wird u.a. auch die IE problematik behandelt.

Bin aber zu unerfahren um es anwenden zu können :oops:

Verfasst: 10.09.2008 11:59
von 4seven
hi issjut,

aufgeben ist nicht. also, die sache mit dem xajax sieht vielversprechend aus. die anweisungen sind sparsamer und innovativer als beim klassischen ajax. hatte darüber schon gelesen und wollte es als nächste der (wenigen) verbliebenen möglichkeiten in angriff nehmen. da kommt mir der link gerade recht. erste versuche (autark vom forum) verliefen im ie positiv (wasn glück) - jetzt steht also noch die integration in das forum an. großes problem, was ich auch schon beim klassischen ajax hatte war, das die variablen nicht in das "neuartige" template übernommen wurde. hoffen wir das beste... :wink:

Verfasst: 10.09.2008 14:14
von issjut
na und wie ich hoffe :-D

Verfasst: 10.09.2008 18:43
von 4seven
ich habs, ich habs :o :grin:

oh man, was ne schaffe :roll:

anleitung folgt asap .. möchte vorher noch einige tests machen und evtl. fließt es als update gleich mit in den mod ein. dann kann man im usermenü wählen, welche variante man haben möchte. ferner kann man im acp die sekunden bis zum refresh eintragen (empf. 120 - 300 sec.)

das xajax-script war zwar ganz nett, doch gab es einige fallstricke + das "variablen-problem". hab dann um 8 ecken einen klassischen php-header-refresh + java-iframe hinbekommen und wollte mich damit zufrieden geben. dann ein aufgegebenes script nochmal genauer angesehen .. initial-zündung = bekam es im ie fehlerfrei zum laufen .. grad noch am feilen + debug

abgesehen davon .. was das schon wieder für weitere möglichkeiten eröffnet. ich sag dir, dieses proggen ist ein fass ohne boden. schlimmer als gaming und co. .. und selbst damals galt schon: playstation = zeitkiller + elektronische handschellen