Zum Inhalt springen

Bannerwechsel, - Zanox Affilinet etc.

Erstellt am 5. Juni 2004 · 5 Antworten · letzte Antwort am 8. Juni 2004

Tags: Frage

LuckyLuke ·

Moin Moin,

ich habe jemand der mit diversen Partnerprogrammen arbeitet.

Die Werbung funktioniert so, daß man auf seiner Seite einen HTML-Text einfügt der zu einem Banner bzw. Link führt.

Ziel soll sein:

Von z.B. Zanox wird der HTML-Text kopiert und im Backend oder Login-Frontend eingefügt.

Danach sollen die Banner z.B. im Top rotieren.

Weiß jemand ob es eine Extension gibt die dieses erfüllt ??

Gruß Luke

Herbert Lackner ·

Hallo LuckyLuke,

ich mache das mit einer Kombination aus
ao_bannercodes
und
jh_random_records

Damit kann man dann sogar exakt auswählen, aus welchen Bannern auf jeder Seite ein banner "randomized" gewählt werden soll.

Dazu legt man dann einfach ein Content-Element "Datensatz einfügen" an, wählt die einzelnen Banner und klickt "random" an, das durch die jh_random_records eingefügt wird.

Ich habe einige Zeit gebraucht, bis ich eine funktionierende Lösung zusammen hatte, aber so funktioniert es super!

lg

Herbert

LuckyLuke ·

Hallo Herbert,

habe mit beiden Extensions noch nicht gearbeitet ...
Hört sich aber gut an ...

Werde ich mal installieren ...

Danke Dir ...

Gruß Luke

LuckyLuke ·

Hallo Herbert,

Die Bannergeschichte läuft jetzt ...

Allerdings, obwohl ich "jh_random_records" installiert habe erscheint keine Checkbox ???

Hast Du ne Idee ??

Gruß Luke o.O

Herbert Lackner ·

Die Checkbox "Zufall" befindet sich bei mir im Seitenelement - Typ "Datensatz einfügen" ganz unten - wenn die Extension läuft, dann muss die auch da sein. Sonst eventuell mal Cache leeren.

lg

Herbert

Herbert Lackner ·

AAAhhhh, ich habe was vergessen:
Die random_records kennt die AO-Bannercodes nicht, da musste ich den Code ändern.... das hatte ich ganz vergessen...

<?php

require_once(PATH_tslib."class.tslib_content.php");

class ux_tslib_cObj extends tslib_cObj {

	function RECORDS($conf)	{

		$theValue="";

		$originalRec=$GLOBALS["TSFE"]->currentRecord;	

                                
		if ($originalRec)	{		// If the currentRecord is set, we register, that this record has invoked this function. It's should not be allowed to do this again then!!
			$GLOBALS["TSFE"]->recordRegister[md5($originalRec)]++;
		}

		$conf["source"] = $this->stdWrap($conf["source"],$conf["source."]);
 
		if ($conf["tables"] && $conf["source"]) {
			$allowedTables = $conf["tables"];
                                                $allowedTables.=","."tx_aobannercodes_bannercodes";
			if (is_array($conf["conf."]))	{
				reset($conf["conf."]);
				while(list($k)=each($conf["conf."]))	{
					if (substr($k,-1)!=".")		$allowedTables.=",".$k;
				}
			}

			$loadDB = t3lib_div::makeInstance("FE_loadDBGroup");
			$loadDB->start($conf["source"], $allowedTables);
			reset($loadDB->tableArray);
			while(list($table,)=each($loadDB->tableArray))	{
				if (is_array($GLOBALS["TCA"][$table]))	{
					$loadDB->additionalWhere[$table]=$this->enableFields($table);
				}
			}
			$loadDB->getFromDB();

			reset($loadDB->itemArray);
			$data = $loadDB->results;

			$cObj =t3lib_div::makeInstance("tslib_cObj");
			$cObj->setParent($this->data,$this->currentRecord);
			$this->currentRecordNumber=0;
			$this->currentRecordTotal = count($loadDB->itemArray);

			$random = 0;
			if ($this->stdWrap($this->cObjGet($conf["conf."]["random."], "conf.random"),$conf["conf."]["random."])) {
				mt_srand((double)microtime()*1000000);
				$random = mt_rand(1, $this->currentRecordTotal);
			}

			reset($loadDB->itemArray);
			while(list(,$val)=each($loadDB->itemArray))	{
				$row = $data[$val["table"]][$val["id"]];
				if (!$conf["dontCheckPid"])	{
					$row = $this->checkPid($row["pid"]) ? $row : "";
				}
				if ($row && !$GLOBALS["TSFE"]->recordRegister[md5($val["table"].":".$val["id"])])	{

                                                                                if ($val["table"]=="tx_aobannercodes_bannercodes") {
                                                                                       $renderObjName = "";
                                                                                       $renderObjKey = "";
                                                                                       $renderObjConf = "";
                                                                                } 
                                                                                if (!($val["table"]=="tx_aobannercodes_bannercodes")) {
					       $renderObjName = $conf["conf."][$val["table"]] ? $conf["conf."][$val["table"]] : "<".$val["table"];
					       $renderObjKey = $conf["conf."][$val["table"]] ? "conf.".$val["table"] : "";
					       $renderObjConf = $conf["conf."][$val["table"]."."];
                                                                                }

					$this->currentRecordNumber++;
					$GLOBALS["TSFE"]->currentRecord=$val["table"].":".$val["id"];
					$this->lastChanged($row["tstamp"]);
					$cObj->start($row,$val["table"]);

					if ($random == 0 || $random == $this->currentRecordNumber) {
						if ($GLOBALS["TSFE"]->config["config"]["insertDmailerBoundaries"])	{$theValue.="<!--DMAILER_SECTION_BOUNDARY_".intval($row["module_sys_dmail_category"])."-->";}
                                                                                                
                                                                                                if ($val["table"]=="tx_aobannercodes_bannercodes") {
                                                                                                             $theValue.=$cObj->data[bannercode];
                                                                                                }
                                                                                                if ($val["table"]!=="tx_aobannercodes_bannercodes") {
  						             $theValue.=$cObj->cObjGetSingle($renderObjName, $renderObjConf, $renderObjKey);
                                                                                                }
						if ($GLOBALS["TSFE"]->config["config"]["insertDmailerBoundaries"])	{$theValue.="<!--DMAILER_SECTION_BOUNDARY_END-->";}
					}
				}
			}
		}
		$GLOBALS["TSFE"]->currentRecord=$originalRec;
		return $this->wrap($theValue,$conf["wrap"]);
	}


}



if (defined("TYPO3_MODE") && $TYPO3_CONF_VARS[TYPO3_MODE]["XCLASS"]["ext/jh_random_records/pi1/class.tx_jhrandomrecords_pi1.php"])	{
	include_once($TYPO3_CONF_VARS[TYPO3_MODE]["XCLASS"]["ext/jh_random_records/pi1/class.tx_jhrandomrecords_pi1.php"]);
}

?>