Announcement Mod

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
JanX
Mitglied
Beiträge: 53
Registriert: 15.07.2008 16:01

Announcement Mod

Beitrag von JanX »

Wir haben in unserem Forum den Mod installiert, um zentral auf wichtige Punkte hinzuweisen. Nun haben wir wieder einmal eine Veranstaltung dort aufgeführt. Da kam mir der Gedanke das es doch sehr schön wöre, wenn man da einen "Tage bis"-Zähler einbauen könnte, der automatisch läuft. Geht das überhaupt?

JanX
modernist
Ehemaliges Teammitglied
Beiträge: 2202
Registriert: 12.01.2009 10:44

Re: Announcement Mod

Beitrag von modernist »

Du könntest versuchen, den "Announcement Mod" mit dieser MOD zu kombinieren: http://www.phpbb.com/customise/db/mod/count_down/
Oder du suchst dir einfach ein Javascript mit Countdown-Funktion im Netz und packst das dazu. Als BBCode für die Signatur gibt's das hier: viewtopic.php?f=87&t=179054
Das Script müsste eigentlich nur angepasst werden und natürlich an eine andere Stelle gepackt werden.
Benutzeravatar
JanX
Mitglied
Beiträge: 53
Registriert: 15.07.2008 16:01

Re: Announcement Mod

Beitrag von JanX »

Moin modernist,

danke für die beiden Hinweise! Ich denke mal, das ich den Mod nicht nehmen würde, da nicht alle von uns gebrauchten Themes unterstützt werden, und offiziell auch nur das 1.07SL1 unterstützt wird. Aber als BBCode, das ist schon ne tolle Sache. Wobei ich ja wirklich nur die ganz simple Sache gleich vom Anfang haben möchte, je weiter es nach hinten in dem Thread geht, um so mehr artet das ja in optische Finessen aus. Will ich garnicht haben, wirklich nur den Tageszähler.

Aber vielleicht kannst Du mir noch einen Tipp geben zur Umsetzung. Da steht immer wieder Code drin mit der Überschrift: "HTML-Ersetzung:" Wo kommt denn das hin?

JanX
modernist
Ehemaliges Teammitglied
Beiträge: 2202
Registriert: 12.01.2009 10:44

Re: Announcement Mod

Beitrag von modernist »

JanX hat geschrieben:Da steht immer wieder Code drin mit der Überschrift: "HTML-Ersetzung:" Wo kommt denn das hin?
Daraus müsstest du dir dann das JavaScript für den Counter basteln und an passender Stelle in deiner Announcement MOD einsetzen. Du hast da ja bislang nicht gesagt, was du da genau eingebaut hast.
Wenn du das Announcement Centre meinst, dann wäre hier die announcement_centre.html die zu ergänzende Datei.
Benutzeravatar
JanX
Mitglied
Beiträge: 53
Registriert: 15.07.2008 16:01

Re: Announcement Mod

Beitrag von JanX »

Moin modernist,

ahh, OK. Vielen Dank für den Hinweis. Ich melde mich wieder, wenn das funktioniert hat (oder auch nicht)

JanX
Benutzeravatar
JanX
Mitglied
Beiträge: 53
Registriert: 15.07.2008 16:01

Re: Announcement Mod

Beitrag von JanX »

Moin modernist,

sorry, aber ich bin anscheinend ein wenig zu blöd dafür. Ich kenne mich ein klein wenig mit HTML aus, und programmiere auch. Aber das hier übersteigt mein Verständnis. Wie genau muß ich das jetzt in die announcement_centre.html einbauen?

Ich nehme diesen Code aus dem von Dir vorgeschlagenen Thread:

Code: Alles auswählen

<script>
var eventdate = new Date("{TEXT} {NUMBER1}, {NUMBER2} 23:59:59 GMT");
d=new Date();
count=Math.floor((eventdate.getTime()-d.getTime())/1000);
count=Math.floor(count/(60*60*24));
document.write(count);
</script>
Aber das kann es ja noch nicht sein, oder? Wo steht denn da ein function ticker() oder etwas anderes, das sagt, das hier auf auf [ticker] zugegriffen werden soll?

Es wäre super, wenn Du mir da weiterhelfen könntest (oder wer anderes).

Jan
modernist
Ehemaliges Teammitglied
Beiträge: 2202
Registriert: 12.01.2009 10:44

Re: Announcement Mod

Beitrag von modernist »

Das Script für den Countdown wäre auch etwas umfangreicher als der Teil, den du hier zitiert hast, wenn man das vollständig einbaut, funktioniert es auch.

Da du im ACP Announcement Centre auch BBCodes nutzen kannst, wäre es vielleicht am besten, du erstellst einen entsprechenden BBCode und bindest den dann in den Text im ACP ein.
Andernfalls müsstest du in der announcement_centre.html an den passenden Stellen das Script einbinden. Hier stellt sich dann die Frage: nur für Gäste (dann hinter {ANNOUNCEMENT_TEXT_GUESTS}), nur für Mitglieder oder beide.

Ich habe es mal ausprobiert in meinem lokalen Testforum, da geht's bei beiden Varianten.

Mein BBCode (HTML-Ersetzung):

Code: Alles auswählen

<script type="text/javascript">
// <![CDATA[
    var startdate = new Date("{SIMPLETEXT1} {NUMBER1}, {NUMBER2} 23:59:59 UTC+2");
    var eventdate = new Date("{SIMPLETEXT2} {NUMBER3}, {NUMBER4} 23:59:59 UTC+2");
    var ereignis="{INTTEXT1}";
    d=new Date();
    count=Math.floor((eventdate.getTime()-d.getTime())/1000);
    count=Math.floor(count/(60*60*24));
    gesamt=Math.floor((eventdate.getTime()-startdate.getTime())/1000);
    gesamt=Math.floor(gesamt/(60*60*24));
    prozent=Math.floor(100-(count/gesamt*100));
    if (count <= 0) {
    prozent=100;
      }
    document.write("<div class='ticker' style='background-image:url('http://domain.tld/styles/stylename/theme/images/a_ticker.png);'><img src='http://domain.tld/styles/stylename/theme/images/a_zeiger.png' style='padding-left:"+prozent*3.6+"px;z-index:2' alt='Ticker' />");
    if (gesamt>=4) {
    ateil=Math.ceil(gesamt*0.75);
    bteil=Math.ceil(gesamt*0.5);
    cteil=Math.ceil(gesamt*0.25);
    document.write("<div style='margin-left: -36px'><ul class='tschrift'><li class='tschrift-left'>"+gesamt+"</li><li class='tschrift-left'>"+ateil+"</li><li class='tschrift-left'>"+bteil+"</li><li class='tschrift-left'>"+cteil+"</li><li class='tschrift-left'>0</li></ul></div>");
    }
	if (count>1) {
    document.write("<div class='tickerereig'>Noch "+count+" Tage bis "+ereignis+".</div></div>");
	}
	else if (count==1) {
    document.write("<div class='tickerereig'>Noch "+count+" Tag bis "+ereignis+".</div></div>");
	}
	else if (count==0) {
    document.write("<div class='tickerereig'>Heute ist das große Ereignis!</div></div>");
	}
	else {
    document.write("<div class='tickerereig'>Das Ereignis war leider schon.</div></div>");
	}
// ]]>
</script>
<div class="tickerheight"><hr /></div>
Bei http://domain.tld/styles/stylename/theme/images/ musst du natürlich die passenden Daten eintragen.

BBCode-Benutzung:

Code: Alles auswählen

[ticker]{NUMBER1}.{SIMPLETEXT1} {NUMBER2};{NUMBER3}.{SIMPLETEXT2} {NUMBER4};{IDENTIFIER};{INTTEXT1}[/ticker]
Tipp-Anzeige:

Code: Alles auswählen

[ticker]01. Jan 2007;02. Feb 2012;a;Ereignis[/ticker] Englische Monatsabkürzungen!
Hier erfolgt dann aber die komplette Anzeige mit Hintergrundbild und "Zeigerbild".

Ohne sähe das Script dann so aus:

Code: Alles auswählen

<script type="text/javascript">
// <![CDATA[
    var startdate = new Date("{SIMPLETEXT1} {NUMBER1}, {NUMBER2} 23:59:59 UTC+2");
    var eventdate = new Date("{SIMPLETEXT2} {NUMBER3}, {NUMBER4} 23:59:59 UTC+2");
    var ereignis="{INTTEXT1}";
    d=new Date();
    count=Math.floor((eventdate.getTime()-d.getTime())/1000);
    count=Math.floor(count/(60*60*24));
    gesamt=Math.floor((eventdate.getTime()-startdate.getTime())/1000);
    gesamt=Math.floor(gesamt/(60*60*24));
    prozent=Math.floor(100-(count/gesamt*100));

	if (count>1) {
    document.write("<div>Noch "+count+" Tage bis "+ereignis+".</div></div>");
	}
	else if (count==1) {
    document.write("<div>Noch "+count+" Tag bis "+ereignis+".</div></div>");
	}
	else if (count==0) {
    document.write("<div>Heute ist das große Ereignis!</div></div>");
	}
	else {
    document.write("<div>Das Ereignis war leider schon.</div></div>");
	}
// ]]>
</script>
Hier entfällt auch die Eingabe von {IDENTIFIER}, die BBCode-Benutzung wäre also

Code: Alles auswählen

[ticker]{NUMBER1}.{SIMPLETEXT1} {NUMBER2};{NUMBER3}.{SIMPLETEXT2} {NUMBER4};{INTTEXT1}[/ticker]
Tipp-Anzeige:

Code: Alles auswählen

[ticker]01. Jan 2007;02. Feb 2012;Ereignis[/ticker] Englische Monatsabkürzungen!
Antworten

Zurück zu „[3.0.x] Mod Support“