Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
[de-de] Code für Werbeeinblendungen per Rotation einbinden
Bisher bin ich mit Textpattern als CMS für mein (mehr oder weniger) “Online-Magazin” sehr zufrieden.
Was mich bisher stört, das ich unter Präsentation —> Bausteine immer nur festen Werbecode (z.b. vom Gxxxle Adxxxse Programm) einbinden kann. Möchte ich die auf der rechten Seite zu findende Werbung variieren, muss ich immer manuel den Code im Baustein ändern. Gibt es eigentlich ein einfaches PHP Skript für Textpattern, das bestimmten Werbecode (also eigentlich HTML-Code) dynamisch einfuegt. z.B. in der Art, das jede Stunde eine anderer Werbeanbieter eingeblendet wird?
Offline
Re: [de-de] Code für Werbeeinblendungen per Rotation einbinden
PHPAdsNew wird da gern genommen. Könnte passen — je nach dem, wie Du “einfach” definierst ;-) Falls Du nur im alternativen Stundentakt zwischen zwei Ausgaben wechseln möchtest, reicht ein wenig PHP in einem Baustein:
<txp:php>
if ((time() / 3600) % 2 == 0) {
echo output_form (array( 'form' => 'adform-0'));
} else {
echo output_form (array( 'form' => 'adform-1'));
}
</txp:php>
adform-0 und adform-1 sind die Namen der Bausteine, die an geraden oder ungeraden Stunden angezeigt werden. Das Ganze ist natürlich ausbaubar.
Last edited by wet (2006-09-15 13:56:30)
Offline
Re: [de-de] Code für Werbeeinblendungen per Rotation einbinden
Ich habe es mal probiert einzubinden und zwei neue Bausteine mit den Namen adform-0 und adform-1 angelegt (Vom Typ article), sowie den php-code in die sidebar eingebunden. Trotzdem wird keine Werbung angezeigt. Könnte man das ganze eigentlich auch mit dem echo-Befehl direkt ohne Bausteine einfuegen?
Offline
Re: [de-de] Code für Werbeeinblendungen per Rotation einbinden
muess es nicht ‘form’ heissen anstatt ‘name’?
der tag ist ja schliesslich auch <code><txp:output_form form=“foo” /></code>
<code>output_form (array( ‘form’ => ‘adform-0’));</code>
Offline
Re: [de-de] Code für Werbeeinblendungen per Rotation einbinden
ach ja. bring ich immer durcheinander.
Offline
Re: [de-de] Code für Werbeeinblendungen per Rotation einbinden
Jetzt funktioniert das Ganze, nachdem ich den Code mit 2 TXP-Tags und dem echo-Befehl ergänzt habe:
<code>
<txp:php>
if ((time() / 3600) % 2 == 0) {
echo “<txp:output_form form=‘adform-0’ />”;
} else {
echo “<txp:output_form form=‘adform-1’ />”;
}
</txp:php>
</code>
Eine Frage hätte ich trotzdem noch: Wie müßte man das PHP-Skript anpassen, das er alle 2 Stunden/Tag (also pro Tag 12 Anzeigen)
anzeigt?
Offline
Re: [de-de] Code für Werbeeinblendungen per Rotation einbinden
Stimmt. Man sollte so frühmorgens nicht ungetesteten Code posten ;-)
Um den Tag durch 12 Teile zu teilen, dividierst Du die aktuelle Zeit (in Sekunden) durch 7200 und verwertest das Ergebnis in einem switch:
switch(time() / 7200 % 12) {
case 0: echo output_form ( array('form' => 'adform-0') ); break;
case 1: echo output_form ( array('form' => 'adform-1') ); break;
case 2: echo output_form ( array('form' => 'adform-2') ); break;
case 3: echo output_form ( array('form' => 'adform-3') ); break;
case 4: echo output_form ( array('form' => 'adform-4') ); break;
case 5: echo output_form ( array('form' => 'adform-5') ); break;
case 6: echo output_form ( array('form' => 'adform-6') ); break;
case 7: echo output_form ( array('form' => 'adform-7') ); break;
case 8: echo output_form ( array('form' => 'adform-8') ); break;
case 9: echo output_form ( array('form' => 'adform-9') ); break;
case 10: echo output_form ( array('form' => 'adform-10')); break;
case 11: echo output_form ( array('form' => 'adform-11')); break;
}
!
Offline
Re: [de-de] Code für Werbeeinblendungen per Rotation einbinden
Danke. Klappt Prima. Wiedermal ein Problem gelöst :-)
Schönes Wochenende!
Offline
Re: [de-de] Code für Werbeeinblendungen per Rotation einbinden
Wie müßte man eigentlich den Code ändern, dass er per Zufallsgenerator einen der 12 Werbebanner einblendet – also zeitunabhängig?
Offline