Deutschland United States United Kingdom
ContentLion - Open Source CMS

hilfe bei lokale und globale navigation

hilfe bei lokale und globale navigation

hallo,

also bis jetzt hat ja alles super geklappt mit dem tut und ich konnte mir viele neue dinge aneignen. aber jetzt komm ich bei 21. nicht mehr weiter :(

ich habe alles so gemacht wie dort beschrieben (glaube ich jedenfalls)
wenn ich jetzt die index.php im hauptordner öffne dann zeigt es mir die navigation untereinander an mit den drei testseiten. die links kann ich auch aufrufen aber wenn ich auf einer der drei testseiten bin wird mir nur eine leere seite angezeigt. ich hab schon im quelltext nachgeschaut da wird außer den meta-daten nichts auf der seite eingebunden.das heist keine navigation :(

ich hoffe ihr könnt mir weiterhelfen!!

danke schonmal im vorraus :)

hier die skin index.php:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
  <head>
    <?PHP
      sys::includeHeader();
    ?>
  </head>
  <body>
    <?PHP
      sys::displayBreadcrump(" -&gt; ","breadcrump","bc");
      sys::includeContent();
      sys::displayGlobalMenu("<ul>","</ul>","<li>","</li>","globalmenu");
      sys::displayLocalMenu("<ul>","</ul>","<li>","</li>","localmenu");
    ?>
  </body>
</html>



hier die sys.php:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?PHP
class sys{
  function includeContent(){
    global $currentpage;
    $currentpage->getContent();
  }
  
function displayBreadcrump($separator,$class,$idpraefix){
    global $currentpage;
    $i 1;
    $breadcrump $currentpage->getBreadcrump();
    while($i <= count($breadcrump)){
      echo "<a href="".$breadcrump[$i-1][0].".htm" class="".$class."" 
            id="".$idpraefix.$i."">".$breadcrump[$i-1][1]."</a>";
      if($i count($breadcrump)){
        echo $separator;
      }
      $i++;
    }
  }
  
function displayMenu($id$globalstart,$globalend$elementstart,$elementend,
                       $class){
    Menu::display($id$globalstart,$globalend$elementstart,$elementend,$class);
  }
  
  function displayGlobalMenu($globalstart,$globalend$elementstart,$elementend,
                       $class){
    global $dbpraefix;
    $res mysql_query("SELECT value FROM ".$dbpraefix."settings 
                        WHERE property = 'globalmenuid'");
    if($row mysql_fetch_row($res)){
      Menu::display($row[0], $globalstart,$globalend$elementstart,$elementend,
                    $class);
    }
  }


  function displayLocalMenu($globalstart,$globalend$elementstart,$elementend,
                            $class){
    global $currentpage;
    if($currentpage->menu > -1){
      Menu::display($currentpage->menu$globalstart,$globalend$elementstart,
                    $elementend,$class);
    }
  }
  


  function includeHeader(){
    global $dbpraefix,$currentpage;
    echo "<title>".$currentpage->title."</title>
          <meta http-equiv="Content-Type" content="text/html; 
          charset=iso-8859-1" />";
    $res mysql_query("SELECT name, content
                        FROM ".$dbpraefix."meta_global
                        UNION SELECT name, content
                        FROM ".$dbpraefix."meta_local
                        WHERE page = '".$currentpage->id."'");
    while($row mysql_fetch_row($res)){
      echo "<meta name="".$row[0]."" content="".$row[1]."" />";
    }
  }
}
?>



hier die page.php:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?PHP
class Page{
  var $id = -1;
  var $alias '';
  var $title '';
  var $ownerid = -1;
  var $owner false;
  var $menu = -1;
  
  function loadProperties($alias){
    global $dbpraefix;
    $res mysql_query("SELECT id,title,owner,menu FROM ".$dbpraefix."pages 
                        WHERE alias = '".$alias."'");
    if($row mysql_fetch_row($res)){
      $this->id $row[0];
      $this->title $row[1];
      $this->ownerid $row[2];
      $this->menu $row[3];
      $this->alias $alias;
    }
  }
  
function getOwner(){
    global $dbpraefix;
    if(!$this->owner){
      $res mysql_query("SELECT alias FROM ".$dbpraefix."pages 
                          WHERE id = '".$this->ownerid."'");
      if($row mysql_fetch_row($res)){
        $this->owner = new Page();
        $this->owner->loadProperties($row[0]);
      }
    }
    return $this->owner;
  }
  
function getBreadcrump(){
    if(!$this->owner$this->getOwner();
    if($this->owner){
      $breadcrump $this->owner->getBreadcrump();
    }
    $breadcrump[] = array($this->alias,$this->title);
    return $breadcrump;
  }
  
function displayBreadcrump($separator,$class,$idpraefix){
    global $currentpage;
    $i 1;
    $breadcrump $currentpage->getBreadcrump();
    while($i <= count($breadcrump)){
      echo "<a href="".$breadcrump[$i-1][0].".htm" class="".$class."" 
            id="".$idpraefix.$i."">".$breadcrump[$i-1][1]."</a>";
      if($i count($breadcrump)){
        echo $separator;
      }
      $i++;
    }
  }
  
  function getContent(){
    include(filterfilename("../content/articles/".$this->alias));
  }
}
?>



und zum schluss die menu.php (weis nicht ob die von bedeutung ist):

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?PHP
class Menu{
  function display($id$globalstart,$globalend$elementstart,$elementend,
                   $class){
    global $dbpraefix;
    $res mysql_query("SELECT title,href FROM ".$dbpraefix."menu 
                        WHERE menuID = '".$id."' ORDER BY id");
    echo $globalstart;
    $i 1;
    while($row mysql_fetch_row($res)){
      echo $elementstart."<a href="".$row[1]."" title="".$row[0]."" 
           class="".$class." menue-".$id."-".$i."">".$row[0]."</a>";
      $i++;
    }
    echo $globalend;
  }
}
?>

Kann es sein, dass du die Navigation als lokale und nicht als globale Navigation genutzt hast?

also irgendwie seh ich jetzt nicht mehr durch. ich hab eig alles so gemacht wie im tut beschrieben steht.

wenn ich das also richig verstanden habe dann wird doch alles in der spalte ,,menu" in ,,cms_pages" mit dem wert -1 als globales menü genutzt und alles mit dem wert 1 als lokales oder nicht?

in den tabellen ist alles genauso wie es laut dem tut sein muss. ich versteh das einfach nicht :/

hab es jetzt lösen können das problem..aber ich hab gerade gemerkt (bin bei schritt 29) das wenn ich testseite.htm aufrufe alles perfekt dargestellt wird aber sobald ich auch testseite2.htm oder testseite3.htm gehe zeigt es mir immer nur 404 error (hab ich zum testen schon erstellt gehabt) an.

was mach ich jetzt wieder falsch?

das lokale Menü wird allen Seiten zugeordnet und ist immer zu sehen. Ein lokales Menü wird einer Seite zugeordnet und taucht deshalb in der pages-Tabelle auf.

Du musst mal ausgeben, welchen Pfad er an der Stelle included.