[PHP] Webseite mit Submenü mittels Include und Switch Funktion

[PHP] Webseite mit Submenü mittels Include und Switch Funktion | PSD-Tutorials.de

Erstellt von Pixelaner, 28.07.2008.

  1. Pixelaner

    Pixelaner Der Pixelaner

    Dabei seit:
    03.04.2008
    Beiträge:
    261
    Geschlecht:
    männlich
    Ort:
    Essen
    [PHP] Webseite mit Submenü mittels Include und Switch Funktion
    Hallo miteinander,

    ich bin ein totaler Neuling auf dem PHP Gebiet und scheiter gerade an einem eventuell simplen Problem. Ich habe meine Seite mittels Switch und Include Funktion aufgebaut und ich bin auf ein Problem mit dem Untermenü gestossen.

    Die Seite: Der Pixelaner - Webdesign, Mediengestaltung, Tutorials, CSS Templates

    Das Problem: Es Funktioniert alles wunderbar bis auf das Submenü im Bereich Person (nur testhalber dort eingefügt, es sollen später auch andere Rubriken Unterpunkte enthalten). Ich weiss nicht wie ich eine neu includete Datei in dem Contentbereich (Mittlere Spalte) einfügen kann, ohne das im Hauptmenü der "Aktiv"-Button nichtmehr angezeigt wird.

    Kurz zusammengefasst nach meiner grausigen Erklärung: Menüpunkt soll aktiv angezeigt werden (Button mit orangen Balken). Wenn dort eine Unternavi vorhanden ist, soll diese links angezeigt werden. Die Unterpunkte müssen im mittleren Bereich eingeladen werden, wobei der aktiv Button Aktiv bleiben muss.

    Nun der bisherige Code:

    INDEX.PHP
    Code (Text):
    1.  
    2. <?
    3. if (!isset($_GET['page'])){
    4.   $_GET['page'] = "Startseite";
    5. }
    6. ?>
    7. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    8. <html xmlns="http://www.w3.org/1999/xhtml">
    9.   <head>
    10.     <title>Der Pixelaner - Webdesign, Mediengestaltung, Tutorials, CSS Templates</title>
    11.     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    12.     <meta http-equiv="Content-Style-Type" content="text/css" />
    13.     <link href="css/main.css" rel="stylesheet" type="text/css" media="screen" />
    14.     <link rel="shortcut icon" href="favicon.ico" />
    15.     <meta name="description" content="" />
    16.     <meta name="keywords" content="" />
    17.   </head>
    18.   <body>
    19.     <div id="page">
    20.       <div id="header">
    21.         <h1><a href="http://www.pixelaner.de">Der Pixelaner - Webdesign, Mediengestaltung, Tutorials, CSS Templates</a></h1>
    22.         <div id="menu-extension">
    23.           <ul>
    24.             <li><a href="index.php?page=Kontakt">Kontakt</a></li>
    25.             <li><a href="index.php?page=Impressum">Impressum</a></li>
    26.             <li><a href="index.php?page=Sitemap" class="mar0">Sitemap</a></li>
    27.           </ul>
    28.         </div>
    29.       </div>
    30.       <div id="menu">
    31.         <ul>
    32.           <li><a href="index.php?page=Startseite" <? if ($_GET['page'] == Startseite) { echo "id=\"active\""; } ?>>Startseite</a></li>
    33.           <li><a href="index.php?page=Person&sub=id2" <? if ($_GET['page'] == Person) { echo "id=\"active\""; } ?>>Person</a></li>
    34.           <li><a href="index.php?page=Arbeiten" <? if ($_GET['page'] == Arbeiten) { echo "id=\"active\""; } ?>>Arbeiten</a></li>
    35.           <li><a href="index.php?page=Tutorials" <? if ($_GET['page'] == Tutorials) { echo "id=\"active\""; } ?>>Tutorials</a></li>
    36.           <li><a href="index.php?page=Templates" <? if ($_GET['page'] == Templates) { echo "id=\"active\""; } ?>>CSS Templates</a></li>
    37.           <li><a href="index.php?page=Links" <? if ($_GET['page'] == Links) { echo "id=\"active\""; } ?>>N&uuml;tzliche Links</a></li>
    38.         </ul>
    39.       </div>
    40.       <div id="trailer">
    41.         <img src="images/trailer-1.jpg" alt="" title="" height="200" width="900" />
    42.       </div>
    43.       <div class="spacer"></div>
    44.       <div id="content">
    45.         <div id="column-a">
    46. <?
    47.   switch ($_GET['sub']) {
    48.   case id2:
    49.   include("inc/sub-person.inc");
    50.   break;
    51.  
    52.   default:
    53.   echo "&nbsp";
    54.   break;
    55.   }
    56. ?>
    57.  
    58.         </div>
    59.         <div id="column-b">
    60. <?
    61.   switch ($_GET['page']) {
    62.     case Startseite:
    63.     include("inc/home.inc");
    64.     break;
    65.    
    66.     case Person:
    67.     include("inc/person.inc");
    68.     break;
    69.    
    70.     case Arbeiten:
    71.     include("inc/arbeiten.inc");
    72.     break;
    73.    
    74.     case Tutorials:
    75.     include("inc/tutorials.inc");
    76.     break;
    77.    
    78.     case Templates:
    79.     include("inc/templates.inc");
    80.     break;
    81.    
    82.     case Links:
    83.     include("inc/links.inc");
    84.     break;
    85.    
    86.     case Kontakt:
    87.     include("inc/kontakt.inc");
    88.     break;
    89.    
    90.     case Impressum:
    91.     include("inc/impressum.inc");
    92.     break;
    93.    
    94.     case Sitemap:
    95.     include("inc/sitemap.inc");
    96.     break;
    97.    
    98.     case test:
    99.     include("inc/test.inc");
    100.     break;
    101.        
    102.     default:
    103.     include("inc/home.inc");
    104.     break;
    105.   }
    106. ?>
    107.  
    108.         </div>
    109.         <div id="column-c">
    110.           <a href="http://www.canvision.de" target="_blank"><img src="images/banner/canvision.jpg" alt="Canvision - Vision for Webarts" title="Canvision" height="60" width="183" class="img-brd" /></a>
    111.           <img src="images/partner-template.gif" alt="" title="" height="60" width="181" class="img-brd" />
    112.           <img src="images/partner-template.gif" alt="" title="" height="60" width="181" class="img-brd" />
    113.         </div>
    114.         <div class="clr"></div>
    115.       </div>
    116.       <div class="spacer"></div>
    117.       <div id="footer">
    118.         &copy; 2008 Pixelaner
    119.       </div>
    120.     </div>
    121.   </body>
    122. </html>
    123.  

    Vielen Dank schonmal für die ersten Hilfeversuche :D

    mfg Pixelaner
     
    #1      
  2. Der_Ritter

    Der_Ritter Nicht mehr ganz neu hier

    Dabei seit:
    04.03.2008
    Beiträge:
    101
    Geschlecht:
    männlich
    [PHP] Webseite mit Submenü mittels Include und Switch Funktion
    AW:
    PHP:
    1.  Webseite mit Submenü mittels Include und Switch Funktion[/b]
    2.  
    3. So auf die Schnelle eine erste Idee:
    4.  
    5. <? if ($_GET['page'] == Person || "Eine der Variablen die du im Untermenu mit dem Link übergibst") dann mach das Ganze aktiv { echo "id=\"active\""; }
    6.  
    7. Gruß
    8. Der_Ritter
     
    #2      
  3. Pixelaner

    Pixelaner Der Pixelaner

    Dabei seit:
    03.04.2008
    Beiträge:
    261
    Geschlecht:
    männlich
    Ort:
    Essen
    [PHP] Webseite mit Submenü mittels Include und Switch Funktion
    AW:
    PHP:
    1.  Webseite mit Submenü mittels Include und Switch Funktion[/b]
    2.  
    3. An welche Stelle müsste ich das denn einfügen ? Im Link selbst ?
     
    #3      
  4. Pixelaner

    Pixelaner Der Pixelaner

    Dabei seit:
    03.04.2008
    Beiträge:
    261
    Geschlecht:
    männlich
    Ort:
    Essen
    [PHP] Webseite mit Submenü mittels Include und Switch Funktion
    AW:
    PHP:
    1.  Webseite mit Submenü mittels Include und Switch Funktion[/b]
    2.  
    3. Meine Denkweise ist ja die, das die Variable die mit dem Unterpunkt übergeben wird zB. cat=unterpunkt1 ... Damit es in dem Switch Bereich (page) ja auch angezeigt wird müsste ja aus cat , page werden.
     
    #4      
  5. Der_Ritter

    Der_Ritter Nicht mehr ganz neu hier

    Dabei seit:
    04.03.2008
    Beiträge:
    101
    Geschlecht:
    männlich
    [PHP] Webseite mit Submenü mittels Include und Switch Funktion
    AW:
    PHP:
    1.  Webseite mit Submenü mittels Include und Switch Funktion[/b]
    2.  
    3. Es geht ja nur darum, den Butten aktiv zu halten. Wann soll er aktiv sein? Wenn entweder page == person ODER sub == id2. Das ist die Bedingung für den aktiven Button.
    4. <? if ($_GET['page'] == Person) || ($_GET['sub'] == id2)
    5.  { echo "id=\"active\""; } ?>
    6. Das andere ist die Abfrage der Variablen um den entsprechenden Inhalt einzubinden:
    7.   switch ($_GET['page']) {
    8.  
    9. case Person:
    10.     include("inc/person.inc");
    11.     break;
    12. }
    13.  
    14.  
    15. switch ($_GET['sub']) {
    16.   case id2:
    17.   include("inc/sub-person.inc");
    18.   break;
    19. }
    20. Gruß
    21. Der_Ritter
     
    #5      
  6. Pixelaner

    Pixelaner Der Pixelaner

    Dabei seit:
    03.04.2008
    Beiträge:
    261
    Geschlecht:
    männlich
    Ort:
    Essen
    [PHP] Webseite mit Submenü mittels Include und Switch Funktion
    AW:
    PHP:
    1.  Webseite mit Submenü mittels Include und Switch Funktion[/b]
    2.  
    3. Das habe ich mit den 2 Switches auch schon probiert, nur leider wird dann die Seite die davor geladen wurde noch mit dadrüber angezeigt :( Der vorherige Include müsste demnach erst entladen und der neue geladen werden.
     
    #6      
  7. Der_Ritter

    Der_Ritter Nicht mehr ganz neu hier

    Dabei seit:
    04.03.2008
    Beiträge:
    101
    Geschlecht:
    männlich
    [PHP] Webseite mit Submenü mittels Include und Switch Funktion
    AW:
    PHP:
    1.  Webseite mit Submenü mittels Include und Switch Funktion[/b]
    2.  
    3. Vielleicht in der inc/person.inc eine switch-Abfrage, wo du je nach übergebener Variablen vom sub-menu den entsprechenden Text ausgibst.
    4.  
    5. Beispiel: der Link im Submenu übergibt folgende Variablen page=Person&sub=id2&menupunkt=eins.
    6. In person.inc erfolgt noch einmal eine Switchabfrage nach der Variablen menupunkt. Bei default, also wenn der Link nicht vom Untermenu kommt, also menupunkt leer ist, also Link zu Person direkt aufgerufen wurde,zeige den klassischen Text von person.inc an. Ansonsten den Inhalt des Untermenupunktes.
    7.  
    8. Issn Lösungsansatz.
    9.  
    10. Gruß
    11. Der_Ritter
     
    Zuletzt bearbeitet: 28.07.2008
    #7      
  8. sokie

    sokie Mod | Web

    Dabei seit:
    23.03.2008
    Beiträge:
    5.338
    Geschlecht:
    männlich
    Ort:
    Bünde NRW
    Software:
    <br>COREL <br> Texteditor
    [PHP] Webseite mit Submenü mittels Include und Switch Funktion
    AW:
    PHP:
    1.  Webseite mit Submenü mittels Include und Switch Funktion[/b]
    2.  
    3. Hallo pixelaner,
    4. ich frage mich, ob der switch überhaupt an der Stelle erforderlich ist.
    5. der Parameter für das includen kommt doch aus deinem eigenen html ($_GET['page']).
    6. Statt des switch-konstrukts würde doch auch ein einfaches:
    7. [code]
    8. include $_GET['page'].".inc";
    9. [/code]völlig reichen.(natürlich Gross/kleinschreibung anpassen)
    10. wenn die subtopics aus dieser inc kommen, wäre es sinnvoll, wenn sie in einem Array lägen, dann könnte man einfach abfragen, wieviele einträge das Array hat, und direkt darüber iterieren und in der Mitte zur Anzeige bringen. zB
    11. [code]
    12. <?php
    13. //code für den Mittleren Bereich:
    14. if($subtopics){
    15.   for ($i=0;$i<count(subtopics);$i++){
    16.     echo "<li>$subtopics[$i]</li>";
    17.   }
    18. }
    19. //weitere Ausgaben....
    20. ?>
    21. [/code]
     
    #8      
  9. Pixelaner

    Pixelaner Der Pixelaner

    Dabei seit:
    03.04.2008
    Beiträge:
    261
    Geschlecht:
    männlich
    Ort:
    Essen
    [PHP] Webseite mit Submenü mittels Include und Switch Funktion
    AW:
    PHP:
    1.  Webseite mit Submenü mittels Include und Switch Funktion[/b]
    2.  
    3. Oh man da sieht man mal wie wenig Ahnung ich im Umgang mit PHP habe (hoffe das ändert sich in der nächsten Zeit)  :)
    4.  
    5. Ich bin maßlos überfordert damit.
    6.  
    7. Sokie: Der einfache Include funktioniert leider nicht. Und die Geschichte mit den Arrays raubt mir den letzten Nerv.
    8.  
    9.  
    10.  
    11. Achso um eines anzumerken: Ich möchte nicht das davon ausgegangen wird, dass ich hier nur jemanden suche, der mir die Seite fertig baut. Ich möchte schon gerne selbst dahinter kommen wie ich Menü + Submenü in einen Content Bereich laden kann.
     
    Zuletzt bearbeitet: 29.07.2008
    #9      
  10. Pixelaner

    Pixelaner Der Pixelaner

    Dabei seit:
    03.04.2008
    Beiträge:
    261
    Geschlecht:
    männlich
    Ort:
    Essen
    [PHP] Webseite mit Submenü mittels Include und Switch Funktion
    AW:
    PHP:
    1.  Webseite mit Submenü mittels Include und Switch Funktion[/b]
    2.  
    3. Sokie: Der normale include ist nun funktionstüchtig.
    4.  
    5. Nun geht es nurnoch um das Submenü
     
    Zuletzt bearbeitet: 29.07.2008
    #10      
  11. sokie

    sokie Mod | Web

    Dabei seit:
    23.03.2008
    Beiträge:
    5.338
    Geschlecht:
    männlich
    Ort:
    Bünde NRW
    Software:
    <br>COREL <br> Texteditor
    [PHP] Webseite mit Submenü mittels Include und Switch Funktion
    AW:
    PHP:
    1.  Webseite mit Submenü mittels Include und Switch Funktion[/b]
    2.  
    3. [code]
    4.   include ("inc/".$_GET['page'].".inc");
    5. [/code]
    6. sieht doch schon mal ganz gut aus.
    7. wenn du da noch unterordner hast gehst du einfach in der gleichen Weise vor:
    8. [code]
    9.   include ("inc/unterordner/".$_GET['page'].".inc");
    10. [/code]
    11.  
    12. zu den Arrays:
    13. Arrays vereinfachen (wie zB im konkreten Fall) dasarbeiten mit Daten sehr. Gerade PHP stellt eine grosse Zahl von Arrayfunktionen zur Verfügung, un man kann damit super arbeiten. Voraussetzung ist, dass man das Konzept einmal verstanden hat. Ich würde dir empfehlen Dich mit den Arrays vertraut zu machen bevor Du an der Stelle weiterkommst. wenn Du nochmaterial dazu brauchst könnte diese Seite hilfreich sein:[url=http://selfphp.de/praxisbuch/praxisbuchseite.php?site=89&group=21&page=1]Arrays: Seite 1[/url]
     
    #11      
  12. Pixelaner

    Pixelaner Der Pixelaner

    Dabei seit:
    03.04.2008
    Beiträge:
    261
    Geschlecht:
    männlich
    Ort:
    Essen
    [PHP] Webseite mit Submenü mittels Include und Switch Funktion
    AW:
    PHP:
    1.  Webseite mit Submenü mittels Include und Switch Funktion[/b]
    2.  
    3. Vielen Dank für deine Hilfe! Ich werde mir mal in der Mittagspause die verschiedenen Arrays zu Gemüte führen :)
    4.  
    5. Vielleicht hab ich ja Glück und das Submenü steht in den nächsten Tagen.
    6.  
    7.  
    8.  
    9. mfg Chris
     
    #12      
x
×
×