[Solved]: Verschiedene benutzerdefinierte Header [Solved]: Verschiedene benutzerdefinierte Header
 

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

[Solved]: Verschiedene benutzerdefinierte Header

Started by JackMcBeer, June 19, 2009, 01:46:19 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

JackMcBeer

Gibt es evtl. eine Methode verschiedene eigene Header zu verwenden?

Also ich möchte auf der Index-Seite einen anderen (umfangreicheren) Header einsetzen als auf allen anderen Seiten (dort alle gleich).

Danke,
Jan.

Αndré

Kopiere die Funktion pageheader() aus der Datei themes/sample/theme.php in die Datei themes/<Dein Theme>/theme.php.

Ersetze dort
    $custom_header = cpg_get_custom_include($CONFIG['custom_header_path']);
mit
    global $PHP_SELF;
    if ($PHP_SELF == "index.php") {
        $custom_header = cpg_get_custom_include($CONFIG['custom_header_path']);
    } else {
        $custom_header = cpg_get_custom_include('pfad_zu_anderem_header');
    }

Joachim Müller

Was spricht dagegen, diesen Schalter in das Custom-Header-File einzubauen? Also vom benutzerdefinierten Header wiederum auf zwei unterschiedliche Includes zu verweisen oder den umfangreicheren Text direkt einzubetten? Den relevanten Trick hat Dir eenemeenemuu ja gezeigt: die Variable $PHP_SELF enthält den Namen des Skripts, das gerade ausgeführt wird. Das kann man dann mit einem simplen if/then Konstrukt nutzen.

Alternativ (und das ist der Trick, den ich Dir wirklich ans Herz legen möchte anstelle der kitzligen und fehlerträchtigen includes): benutze anycontent.php, denn diese Datei ist genau dafür gemacht, dass sie nur auf index-Seiten angezeigt wird. Wenn der Inhalt nur auf der Startseite der Galerie angezeigt werden soll (und nicht auf den anderen index-Seiten), dann frage die Kategorie ab: nur auf der Startseite sind wir in Kategorie 0 - Abfrage wäre daher if ($cat == 0) {
   echo 'Hier die umfangreiche Begrüssung auf der Startseite';
} else {
   echo 'Hier nur ein kurzer Text auf für alle anderen Fälle';
}


Daher: füge
<?php
if ($cat == 0) {
   echo 
'Hier die umfangreiche Begrüssung auf der Startseite';
} else {
   echo 
'Hier nur ein kurzer Text auf für alle anderen Fälle';
}
?>
in anycontent.php ein (anstelle des derzeitigen Inhalts), gehe in die Coppermine-Einstellungen und füge anycontent unter "Ansicht Albenliste" zum Feld "Inhalt der Hauptseite" hinzu und der Käse ist gegessen - ganz ohne mühsames Gefummel.

JackMcBeer

Danke an Euch Beide, habs mit einer Kombination hinbekommen.

Also anycontent hab ich erstmal weggelassen, dafür meine eigene head.php umgemodelt, die sieht jetzt so aus:

<?php

global $PHP_SELF;
global 
$cat;
    if (
$PHP_SELF == "index.php" and $cat==0) {
        
?>


Header nur für Index UND Categorie 0

<?
}else {?>

Header für alle sonstigen Seiten

<? } ?>


und so siehts aus: www.fernausloeser.de

Joachim Müller

OK, das freut mich. Kleiner Tipp (hat nix mit dem Thema dieses Threads zu tun): schalte mal lieber die Anzeige des Vanity-Blocks ab - das sieht nämlich eher peinlich aus, wenn man so einen Stall von Fehlern bei der Validierung hat (13 an der Zahl für die Startseite, auf Unterseiten wird's nicht besser), vgl. http://validator.w3.org/check?uri=http%3A%2F%2Fwww.fernausloeser.de%2F&charset=(detect+automatically)&doctype=Inline&group=0&user-agent=W3C_Validator%2F1.654
Du scheinst auch einen ungeeigneten Editor zu verwenden, der Murks-Zeichen einschleust.