Dynamic Content, Title, meta

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dynamic Content, Title, meta

    Ich bin relativ neu im Umgang mit PHP und habe aufgrund eines Tipps meine Seite mit folgendem Tutorial eingerichtet: Dynamischer Content - PHP Forum: phpforum.de

    Ich habe nun fast mein Design fertig und lade bereits für JS Benutzer meine Inhalte über AJAX/JQuery rein.
    Für Benutzer ohne JS möchte Datenstruktur nun optimieren. Ein Aspekt, den dieses Tutorial nicht bietet sind z.B. dynamische Titel oder meta tags.

    Ich möchte also für Unterseiten einen anderen Titel und andere meta tags haben. Da der header in diesem Tutorial static ist, ist das so erstmal nicht möglich.
    Ebenso ist es nicht möglich den Titel mit <?php echo $title ?> einzufügen, da header.php geladen wird, bevor der site (Unterseite quasi).

    Soviel vorweg, hier ist mein momentaner Code:

    PHP-Code:
    <?php
    error_reporting
    (E_ALL E_STRICT);
    ini_set('display_errors''On');

    $titles = array(
       
    'main.php' => 'Robert-Richter.com',        
       
    'blog.php' => 'Robert-Richter.com | Blog',
       
    'portfolio.php' => 'Robert-Richter.com | Portfolio',
       
    'lebenslauf.php' => 'Robert-Richter.com | Lebenslauf',
       
    'kontakt.php' => 'Robert-Richter.com | Kontakt',
    );

    if (isset(
    $_GET['content'])) {
        
    $content strtolower(trim($_GET['content']));
    } else {
        
    $content '';
    }
        include_once 
    'inc/header.php';

    switch (
    $content) {
        case 
    'main':
        
    $include 'main.php';
        include 
    'inc/main.php';
        break;
        case 
    'blog':
        
    $include 'blog.php';
        include 
    'inc/blog.php';
        break;
        case 
    'portfolio':
        
    $include 'portfolio.php';
        include 
    'inc/portfolio.php';
        break;
        case 
    'lebenslauf':
        
    $include 'lebenslauf.php';
        include 
    'inc/lebenslauf.php';
        break;
        case 
    'kontakt':
        
    $include 'kontakt.php';
        include 
    'inc/kontakt.php';
        break;
        default:
        
        include 
    'inc/main.php';
    }
        
    $content "main";
        include_once 
    'inc/footer.php';
    ?>
    PHP-Code:
    <title><?php echo $titles[$include];?></title>
    Ergebnis:
    Code:
    <br /> <font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'> <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice:
    Zuletzt geändert von euwCash; 02.08.2013, 18:54.

  • #2
    Tja, so was nennt man schlicht und ergreifend Designfehler. Deine Anwendung ist von ihrer Struktur her nicht auf diesen Fall eingerichtet. Da hilft leider nur eins. Komplett umbauen.

    Für's erste kannst du z.B. ein Array definieren, wo Title-Texte anhand des GET-Parameters vorgegeben sind. Das grundsätzliche Gerüst dafür hast du wohl schon eingebaut, nur halt extrem fehlerhaft. Ohne weiteren relevanten(!) Code kann ich dazu aber nichts sagen.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Ich habe mich an das Tutorial gehalten und die dort benutze Struktur übernommen.

      Welche Informationen bräuchtest du noch, um etwas mehr darüber sagen zu können?

      Die Sites enthalten bis jetzt nur HTML und JS, bis auf die header.php

      Kommentar

      Lädt...
      X