Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#1 2006-09-14 21:01:57

zarathustra
Member
From: Ilmenau
Registered: 2006-07-22
Posts: 22
Website

[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

#2 2006-09-15 04:46:58

wet
Developer Emeritus
From: Vöcklabruck, Austria
Registered: 2005-06-06
Posts: 3,391
Website GitHub Mastodon

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

#3 2006-09-15 08:28:56

zarathustra
Member
From: Ilmenau
Registered: 2006-07-22
Posts: 22
Website

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

#4 2006-09-15 08:50:00

sthmtc
Member
From: CGN, GER
Registered: 2005-01-17
Posts: 586
Website

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

#5 2006-09-15 09:14:26

wet
Developer Emeritus
From: Vöcklabruck, Austria
Registered: 2005-06-06
Posts: 3,391
Website GitHub Mastodon

Re: [de-de] Code für Werbeeinblendungen per Rotation einbinden

ach ja. bring ich immer durcheinander.

Offline

#6 2006-09-15 12:26:28

zarathustra
Member
From: Ilmenau
Registered: 2006-07-22
Posts: 22
Website

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

#7 2006-09-15 14:42:05

wet
Developer Emeritus
From: Vöcklabruck, Austria
Registered: 2005-06-06
Posts: 3,391
Website GitHub Mastodon

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

#8 2006-09-15 16:30:42

zarathustra
Member
From: Ilmenau
Registered: 2006-07-22
Posts: 22
Website

Re: [de-de] Code für Werbeeinblendungen per Rotation einbinden

Danke. Klappt Prima. Wiedermal ein Problem gelöst :-)

Schönes Wochenende!

Offline

#9 2006-10-12 10:42:13

zarathustra
Member
From: Ilmenau
Registered: 2006-07-22
Posts: 22
Website

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

Board footer

Powered by FluxBB