pragmaMx Support Forum

pragmaMx => Themes & Design => Thema gestartet von: Charan am 12 Juli 2005, 22:03:15

Titel: mx-bluewavw hat keien Bannercode
Beitrag von: Charan am 12 Juli 2005, 22:03:15
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
Titel: Re: mx-bluewavw hat keien Bannercode
Beitrag von: henne am 13 Juli 2005, 08:46:18
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 :)
Titel: Re: mx-bluewavw hat keien Bannercode
Beitrag von: Charan am 14 Juli 2005, 02:20:30
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  :-\
Titel: Re: mx-bluewavw hat keien Bannercode
Beitrag von: Andi am 14 Juli 2005, 17:04:17
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
Titel: Re: mx-bluewavw hat keien Bannercode
Beitrag von: overexposure am 28 Oktober 2005, 13:10:48
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
Titel: Re: mx-bluewavw hat keien Bannercode
Beitrag von: henne am 28 Oktober 2005, 13:46:00
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.