mx-bluewavw hat keien Bannercode

Begonnen von Charan, 12 Juli 2005, 22:03:15

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Charan

Hallo,

habe eben bemerkt, dass das Bluewave keine Code in der theme.php hat, um die Bannerrotation zu nutzen.
Hat das schon jemand eingefügt?

Gruß Jochen

henne

Grundsätzlich lassen sich banner über die Blockadministration bequem einfügen (rechts, links, center_oben, center_unten) Ansonsten muß es im Theme definiert werden.

Dazu mal folgender Beitrag aus dem Betatesterforum von Juliet.
Sie hat das dort sehr gut erklärt :thumbup:

denke das geht in Ordnung ;)

Die Bannerfunktion  in der functions.php unterbringen - bei mir sieht das so aus:

function viewbanner($typ=0) {        
// fetch random selected banner
$bresult = sql_query("select bid, imageurl, alttext, script, imptotal, impmade from ".$GLOBALS['prefix']."_banner where typ=".((int)$typ)." and active=1 ORDER BY RAND() LIMIT 1");
list($bid, $imageurl, $alttext, $script, $imptotal, $impmade) = sql_fetch_row($bresult);
if(empty($bid)) {
return "";
}
else {
//Banner wird nach check hier ausgegeben active=1 wird der Banner ausgegeben
// active 2 wird geändert wenn Kaufrate erreicht ist und banner dann ausgeblendet
if (($imptotal <= $impmade) AND (!empty($imptotal))) {
sql_query("update ".$GLOBALS['prefix']."_banner set active='2', dateend=now() where bid=$bid");
// falls nicht deaktivieren, counter hochsetzen wenn nicht Admin
}
elseif(!mxIsAdmin() && !empty($bid)){
sql_query("update ".$GLOBALS['prefix']."_banner set impmade=impmade+1 where bid=$bid");
    }
//Ausgabe für Banner mit Bild und URL oder ob es ein Bannercode ist
if (empty($script)) {
return "<a href=\"banners.php?mxbop=click&amp;bid=$bid\" target=\"_blank\"><img src=\"$imageurl\" border=\"0\" alt=\"$alttext\" title=\"$alttext\"></a>"; 
}
else {
return $script;
}
}
}

In der function theme_replace_end setze ich dann die Werte für die Verschienden Bannerplätze:

function theme_replace_end($template) {
global $banners;
$part[] = array("{FOOTMESSAGE}", footmsg(1,0)            );
$part[] = array("{VIEWBENCH}",   mxViewBench()           );
#$part[] = array("{CURRENTPATH}", mx_theme_currentpath()  );
#$part[] = array("{SEARCHFORM}",  mx_theme_searchform()   );
#$part[] = array("{LOGINFORM}",   mx_theme_loginform()    );
$part[] = array("url(http://www.pragmamx.de/themes/pragmaMxfresh/images/", "url(".MX_BASE_URL.MX_THEME_DIR."/images/");
$part[] = array("{BILDANZEIGEN}",   Bildanzeigen()           );
$part[] = array("{USERANZEIGE}",   Useranzeige()           );

$part[] = array("{BANNER1}",   viewbanner(1)         ); #HeaderBanner
$part[] = array("{BANNER2}",   viewbanner(2)         ); #FooterBanner
$part[] = array("{BANNER7}",   viewbanner(7)         ); # Skyscraper
$part[] = array("{BANNER6}",   viewbanner(6)         ); # rechter Banner
         ....

In die themes.html setzt ich dann an die gewünschte Stelle einfach nur noch das {BANNER2} ein ... that's it :)
bye Henne

don't click the blue "e" on your desktop, use Firefox

Jeden Tag verschwinden Rentner im Internet, weil sie gleichzeitig alt und entfernen drücken

Charan

Hallo,

das verstehe ich jetzt aber nicht. Ist das nicht das gleiche als würde ich einen Banner per html plazieren? Es ging mir um die Funktionsfähigkeit der Bannerrotation über den Adminbereich.

Oder sehe ich da jetzt etwas ganz falsch?

Gruß Jochen  :-\

Andi

Moin :)

der Vorschlag von Henne bzw. Juliet ist schon ok.
Die zusätzliche Funktion viewbanner in der functions.php erzeugt als Rückgabewert den benötigten HTML-Code, der dann über den Platzhalter im Theme ausgegeben wird.
Das ist das gleiche Prinzip, wie das bereits vorhandene Login- oder Suchformular.

Allerdings ist die Funktion viewbanner etwas zu umständlich, das geht einfacher:

###### bannercode ##############
function mx_themebanner($where){
if ($GLOBALS['banners']) {
if(!function_exists('viewbanner')) {
include_once('includes/mx_bannerfunctions.php');
}
return viewbanner(intval($where));
}
}


Der Teil in der Funktion theme_replace_end() muss dann, wegen dem geänderten Funktionsnamen, entsprechend folgendermassen lauten:

$part[] = array("{BANNER1}",   mx_themebanner(1)         ); #HeaderBanner
$part[] = array("{BANNER2}",   mx_themebanner(2)         ); #FooterBanner
$part[] = array("{BANNER7}",   mx_themebanner(7)         ); # Skyscraper
$part[] = array("{BANNER6}",   mx_themebanner(6)         ); # rechter Banner
schön´s Grüssle, Andi

overexposure

Hallo,

habs auch noch net ganz geblickt.....  :-\

Also ich hab Standardmassig installiert, Version 0.1.6, Banner im Admin-Bereich eingefügt. In der Datei functions.php sieht es wie folgt aus:

###################################################
/// bannercode
function mx_themebanner($pos){
   if ($GLOBALS['banners']) {
      if(!function_exists('viewbanner')) {
         include_once('includes/mx_bannerfunctions.php');
         }
      $pos = intval($pos);
      if (empty($pos)) $pos = 1;
      return viewbanner($pos);
      }
   return '&nbsp;';
   }

###################################################

   /// Banner anzeigen
   #$part[] = array("{BANNER1}",   mx_themebanner(1)         ); #HeaderBanner
   #$part[] = array("{BANNER2}",   mx_themebanner(2)         ); #FooterBanner
   #$part[] = array("{BANNER7}",   mx_themebanner(7)         ); # Skyscraper
   #$part[] = array("{BANNER6}",   mx_themebanner(6)         ); # rechter Banner

   /// weitere Beispiele dazu
   #$part[] = array("{VIEWMXCOPY}",                  mxViewCopyright());
   #$part[] = array("{VIEW_DATE}",                   mxThemeShowDate());
   #$part[] = array("{VIEW_OVERLIB}",                printOverlibDiv());
   $template = theme_replace_parts($template, $part);

###################################################

Wo muss ich was bitte ändern das es funzzt????

Gruss

Peter

henne

Hi :),

#$part[] = array("{BANNER1}",   mx_themebanner(1)         ); #HeaderBanner
#$part[] = array("{BANNER2}",   mx_themebanner(2)         ); #FooterBanner
#$part[] = array("{BANNER7}",   mx_themebanner(7)         ); # Skyscraper
#$part[] = array("{BANNER6}",   mx_themebanner(6)         ); # rechter Banner


erst mal hier die Rauten vorne weg ;)

und dann den jeweiligen Platzhalter:

{BANNER1}
{BANNER2}
{BANNER7}
{BANNER6}


in die gewüschte Stelle im Theme einfügen.
bye Henne

don't click the blue "e" on your desktop, use Firefox

Jeden Tag verschwinden Rentner im Internet, weil sie gleichzeitig alt und entfernen drücken