mx-default links/logo

Begonnen von Oscar175, 08 April 2007, 19:04:16

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Oscar175

Hallo Leute,
erstmal froh Ostern.Ich habe zwei Probleme:

1. Wie bekomme ich beim mx-default in den Web News und in den Artikeln unter den Links die pünktchen weg?

2.Wie schaffe ich es das morgens ein Logo mit "Guten Morgen" und Mittags eins mit "Guten Tag" usw. erscheint.

Kann mir da vielleicht jemand helfen?
LG Benjamin

Baldyman

Jey Oscar175,

zu 1.
schau mal nach folgender Datei  /themes/mx-default/style/style.css

spiel mal mit den folgenden Angaben rum.
Die rote Zeile macht die Pünktchen ;-)

a:link {
   background-color: transparent;
   border-bottom: #666666 1px dotted;
   color: #666666;
   text-decoration: none;
}

a:visited {
   background-color: transparent;
   border-bottom: #666666 1px dotted;
   color: #666666;
   text-decoration: none;
}

a:hover,
a:focus {
   background-color: transparent;
   border-bottom: #666666 1px dotted;
   color: #99CC33;
   text-decoration: none;
}

a:active {
   background-color: transparent;
   border-bottom: #666666 1px dotted;
   color: #666666;
   text-decoration: none;


Zu 2. kann ich Dir leider nix sagen SORRY !

Oscar175

OK das hat geklappt,vielen dank.
Bleibt nur noch 2. übrig warte dann mal auf die anderen.
LG Benjamin

reddragon

könnte man das nicht mit einer if else und der Uhrzeit lösen?? :gruebel:

Oscar175

Hi ich kenne mich mit php leider nicht aus.Habe es mal probiert steige da aber nicht durch.
LG Benjamin

JoergK

Zitat von: Oscar175 am 08 April 2007, 19:04:16
2.Wie schaffe ich es das morgens ein Logo mit "Guten Morgen" und Mittags eins mit "Guten Tag" usw. erscheint.

Dazu sind Änderungen/Ergänzungen an folgenden Dateien des Themes notwendig.
1. themes/mx-default/theme.html
Ändere (ca.) Zeile 40
Zitat<td width="75%" height="79" bgcolor="#FFFFFF"><div align="left"><img src="images/logo.png" width="491" alt="" height="66" border="0" usemap="#Map"></div></td>

in das
Zitat<td width="75%" height="79" bgcolor="#FFFFFF"><div align="left">{LOGO}</div></td>

2. themes/mx-default/functions.php
In der function theme_define_placeholders() vor (ca.) Zeile 74 return $out; die Zeile
Zitat$part[] = array("{LOGO}", Logo_by_Time());
einfügen.

Am Ende der Datei nach dem letzten } diesen Code einfügen:
Zitat// Zeitabhaengige Logoanzeige
function Logo_by_Time() {
    $TimeStamp = time();
    $Stunde = intval(date("G", $timestamp));
    if ($Stunde >= 6 && $Stunde < 12) {  // Zwischen 6:00:00 und 11:59:59 Uhr
        $out = "<img src=\"images/guten_morgen.jpg\" width=\"491\" alt="" height=\"66\" border=\"0\">";
    } elseif ($Stunde >= 12 && $Stunde < 18) {  // Zwischen 12:00:00 und 17:59:59 Uhr
        $out = "<img src=\"images/guten_tag.jpg\" width=\"491\" alt="" height=\"66\" border=\"0\">";
    } elseif ($Stunde >= 18 && $Stunde < 24) {  // Zwischen 18:00:00 und 23:59:59 Uhr
        $out = "<img src=\"images/guten_abend.jpg\" width=\"491\" alt="" height=\"66\" border=\"0\">";
    } elseif ($Stunde >= 0 && $Stunde < 6) {  // Zwischen 0:00:00 und 6:59:59 Uhr
        $out = "<img src=\"images/gute_nacht.jpg\" width=\"491\" alt="" height=\"66\" border=\"0\">";
    }
    return $out;
}

Die Dateinamen sowie Breite und Höhe mußt Du natürlich noch entsprechend Deinen Bildern anpassen. Und nicht vergessen, die Bilder in das Verzeichnis themes/mx-default/images hoch zu laden.  ;)

Bevor ich es vergess ... das ganze ist ungetestet, sollte aber soweit funktionieren.
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

Oscar175

#6
@JoergK

habe alles gemacht,auch die Bilder hochgeladen,doch die Seite bleibt jetzt weiß.Funzt leider net.
LG Benjamin

JoergK

Dann werd ich das doch mal antesten müssen ... hatte das letzte Nacht nur auf die Schnelle "zusammengeschustert".  ;)
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

Future

#8
Hi :),

also 1 Fehler liegt auf jedefall hier.

$TimeStamp = time();
$Stunde = intval(date("G", $timestamp));

Da hast du einmal Timestamp groß geschrieben und danach klein. Wird wohl nur ein Tippfehler gewesen sein ;)

EDIT: Hehe selbst übersehen. einmal ist auch das S in timestamp groß und einmal nicht

JoergK

Zitat von: Future am 10 April 2007, 01:11:12
also 1 Fehler liegt auf jedefall hier.

Da könnt ich mich doch glatt :crazy:

Danke für den Hinweis, werd's in den Test mit einbeziehen.  :thumbup:
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

Future

Jut, der krams hat mir ja jetzt keine ruhe gelassen.

So sollte es nun wirklich funktionieren.

<?php
// Zeitabhaengige Logoanzeige
function Logo_by_Time() {
    
$timestamp time();
    
$Stunde intval(date("G"$timestamp));
    if (
$Stunde >= && $Stunde 12) {  // Zwischen 6:00:00 und 11:59:59 Uhr
        
$img "guten_morgen.jpg";
    } elseif (
$Stunde >= 12 && $Stunde 18) {  // Zwischen 12:00:00 und 17:59:59 Uhr
        
$img "guten_tag.jpg";
    } elseif (
$Stunde >= 18 && $Stunde 24) {  // Zwischen 18:00:00 und 23:59:59 Uhr
        
$img "guten_abend.jpg";
    } elseif (
$Stunde >= && $Stunde 6) {  // Zwischen 0:00:00 und 6:59:59 Uhr
        
$img "gute_nacht.jpg";
    }
    
$outmxCreateImage(MX_THEME_DIR "/images/".$img."""Logo"0);
    return 
$out;
}
?>

JoergK

So, nu hab ich's auch gefunden, wieso mein "Schnellschuss" nicht funktioniert hat - abgesehen vom bereits genannten Tippfehler bezüglich der Groß-/Kleinschreibung.
In den Zeilen $out = ... hab ich dummerweise :crazy: vergessen, die " beim alt-Attribut zu escapen, ergo statt alt="" muß das alt=\"\" heissen.
Und desweiteren muß das Theme-Verzeichnis ebenfalls angegeben werden.

Da der Code von Future funktioniert  :thumbup: und zudem auch noch übersichtlicher ist, erspar ich es euch und mir, meinen korrigierten Code hier nochmal zu posten.
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

Future

#12
ZitatIn den Zeilen $out = ... hab ich dummerweise klapps vergessen, die " beim alt-Attribut zu escapen, ergo statt alt="" muß das alt=\"\" heissen.
Und desweiteren muß das Theme-Verzeichnis ebenfalls angegeben werden.

Manchmal sieht man halt den Wald vor lauter Bäumen nicht mehr :D Nach dem krams hätte ich glaube ich morgen noch gesucht.

THX JoergK dafür, das du trotzdem den Fehler gepostet hast.

JoergK

#13
Zitat von: Future am 10 April 2007, 03:14:46
THX JoergK dafür, das du trotzdem den Fehler gepostet hast.

Hat mich doch selber interessiert, was ich da falsch gemacht hab. Dass ich die Fehler gepostet hab gehört für mich einfach zur Selbstkritik dazu. Nebenbei haben Andere dadurch auch die Chance etwas zu lernen.

Dazu passt dann noch Motto eines anderen Forums:


Wissen ist das einzige Gut das sich vermehrt wenn man es teilt!
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

Future

Dem Motto stimme ich voll und ganz zu. :thumbup: :cul:

BTW nochmal ein Tipp den mir Andi vor kurzem gab.

Anstatt so:

$out = "<img src=\"images/guten_tag.jpg\" width=\"491\" alt="" height=\"66\" border=\"0\">";

lieber so:

$out = '<img src="images/guten_tag.jpg" width="491" alt="" height="66" border="0">';

Dann brauch man den ganzen scheiss nicht mehr escapen. Wusstezwar vorher auch schon das das geht ( ich denke du auch ), mir war aber nie bewusst was für eine Zeit und vor allem Arbeitsersparniss das ist. Ist halt nur ne kleine umgewöhnungssache wenn man es vorher andersrum gemacht hat.

JoergK

Zitat von: Future am 10 April 2007, 03:29:59
BTW nochmal ein Tipp den mir Andi vor kurzem gab.

Danke  :thumbup:

Zum Thema String und Syntax hatte Andi ja letztens erst wieder nen Lesetip parat: http://de.php.net/string.

Aber wie Du schon vermutet hast, "kenne" diese Variante auch, aber wie Du sicherlich auch weisst, "führen viele Wege nach Rom". Die Kunst ist halt zu wissen, wann man welchen am Besten zu gehen hat. Aber daran kann man schliesslich arbeiten. ;)
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

Oscar175

Hi, Vielen Dank euch beiden funktioniert super  :thumbup: :thumbup: :thumbup:
LG Benjamin

reddragon

Kleine Frage, was muss da hin, wenn man um 6.15 Uhr etwas geändert haben will?  :)

Future

Hi :),

versuchs mal hiermit

<?php
// Zeitabhaengige Logoanzeige
function Logo_by_Time() {
    
$timestamp time();
    
$Stunde date("H:i"$timestamp);
$Stunde str_replace(":","",$Stunde);
    if (
$Stunde >= 0600 && $Stunde 1200) {  // Zwischen 6:00:00 und 11:59:59 Uhr
        
$img "gute_nacht.png1";
    } elseif (
$Stunde >= 1200 && $Stunde 1753) {  // Zwischen 12:00:00 und 17:52:59 Uhr
        
$img "gute_nacht.png22";
    } elseif (
$Stunde >= 1753 && $Stunde 2400) {  // Zwischen 17:53:00 und 23:59:59 Uhr
        
$img "gute_nacht.png3";
    } elseif (
$Stunde >= 0000 && $Stunde 0600) {  // Zwischen 0:00:00 und 6:59:59 Uhr
        
$img "gute_nacht.png";
    }
$outmxCreateImage(MX_THEME_DIR "/images/".$img."""logo"0);
    return 
$out;
}
?>

JoergK

Sorry, Future aber das funzt nicht (getestet).  :exclam: ;D ;D

Probiert mal diesen Code (getestet):
Zitat// Zeitabhaengige Logoanzeige
function Logo_by_Time() {
    $TimeStamp = time();
    $Stunde = intval(date("G", $TimeStamp));
    $Minute = intval(date("i", $TimeStamp));
    if ((($Stunde == 6 && $Minute >= 15) || $Stunde > 6) && ($Stunde < 12)) {  // Zwischen 6:15:00 und 11:59:59 Uhr
        $img = "guten_morgen.jpg";
    } elseif ($Stunde >= 12 && $Stunde < 18) {  // Zwischen 12:00:00 und 17:59:59 Uhr
        $img = "guten_tag.jpg";
    } elseif ($Stunde >= 18 && $Stunde < 24) {  // Zwischen 18:00:00 und 23:59:59 Uhr
        $img = "guten_abend.jpg";
    } elseif ($Stunde >= 0 && ($Stunde < 6 || ($Stunde == 6 && $Minute < 15))) {  // Zwischen 0:00:00 und 6:14:59 Uhr
        $img = "gute_nacht.jpg";
    }
    $out= mxCreateImage(MX_THEME_DIR . "/images/".$img."", "Logo", 0);
    return $out;
}

Die roten Zeilen sind die geänderten gegenüber dem ursprünglichen Code aus der Antwort 10.
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody