Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 25-09-2003, 10:45
Mas Teringo
 Newbie
Links : Onlinestatus : Mas Teringo ist offline
Registriert seit: Sep 2003
Beiträge: 7
Mas Teringo ist zur Zeit noch ein unbeschriebenes Blatt
Standard Navigationsproblem (Dummy-Frage)

Hallo,

ich habe gesucht, nun frage ich. Sollte meine Frage irgendwo doch schon stehen, dann bitte pm an mich und ihr könnt meinen Beitrag löschen.

Mein Problem: Ich möchte eine Webseite mit teilweise austauschbaren Inhalten ohne Frames realisieren. PHP lerne ich gerade und XML hab ich die Syntax denke ich begriffen. Hier einige Codeschnipsel:

Die Start-XML-Datei:

Code:
<?xml version="1.0"?>
<me>
<hauptmenue>
  <eintrag>home</eintrag>
  <eintrag>seite 1</eintrag>
  <eintrag>seite 2</eintrag>
</hauptmenue>
<inhalt>
  <text>
    dies ist der anfangstext
  </text>
</inhalt>
</me>

Das wird dann per CSS formatiert:

Code:
#links {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 140px;
  height: 400px;
}

#main {
  position: absolute;
  top: 140px;
  left: 150px;
  width: 660px;
  height: 260px;
}

Die index.php sieht grad so aus:

PHP-Code:
<html>
<head>
  <link rel="stylesheet" type="text/css" href="test.css">
</head>
<body>
  <?php
  
function startElement($parser$element_name$element_attribute) {
    global 
$ausgabe;
    switch (
strtolower($element_name)) {
      case 
"hauptmenue":
        
$ausgabe .= "<div id=\"links\">";
        break;
      case 
"eintrag":
        
$ausgabe .= "<p><a href=\"seite2.xml\" target=\"main\">";
        break;
      case 
"inhalt":
        
$ausgabe .= "<div id=\"main\">";
        break;
    }
  }
  function 
endElement($parser$element_name) {
    global 
$ausgabe;
    switch (
strtolower($element_name)) {
      case 
"hauptmenue":
        
$ausgabe .= "</div>";
        break;
      case 
"eintrag":
        
$ausgabe .= "</a></p>";
        break;
      case 
"inhalt":
        
$ausgabe .= "</div>";
        break;
    }
  }
  function 
cdata($parser$element_inhalt) {
    global 
$ausgabe;
    
// Der normale Text wird an $ausgabe angehängt
    
$ausgabe .= $element_inhalt;
  }
  
$xmlFile file("startseite.xml");
  
$parser xml_parser_create();
  
xml_set_element_handler($parser"startElement""endElement");
  
xml_set_character_data_handler($parser"cdata");
  foreach(
$xmlFile as $elem)
  {
  
xml_parse($parser$elem);
  }
  
xml_parser_free($parser);
  echo 
$ausgabe;
?>
</body>
</html>

Der link auf "seite2.xml" ist noch statisch (klar, muss noch geändert werden), aber ich bekomme das Grundprinzip anscheinend nicht hin, denn was ich will ist ja, dass der Text von seite2.xml (sieht aus wie die oben angezeigte startseite.xml) dahin geparst wird, wo vorher der andere Text stand.

Ich suche nun verzweifelt danach und hoffe, dass mir jemand diesen kleinen Denkanstoss geben kann.

Vielen vielen Dank schonmal.


EDIT:
code- und php.tags by Abraxax

Geändert von Abraxax (25-09-2003 um 10:47 Uhr)
Mit Zitat antworten