Denkanstupser ;-)

Headymaster

Erfahrenes Mitglied
Hallo!

Ich brächte mal nen Denkanstupser :)

Und zwar wird die Gesamte navigation über eine Datenbank geladen.

So zu Beispiel nehmen wir mal das Usermenu.

Hier das Template :
HTML:
<html>
<head>
<link rel="stylesheet" media="screen" href="[css]"/>
<title>[Title]</title>
</head>
<body>
  <div align="center">
    <table>
	   <tr>
	      <td><font size="+1"><b>USERMENU</b></font></td>
	   </tr>
	   <tr>
	      <td><a href="[umenu_link]">[umenu_name]</a></td>
	   </tr>
	</table>
  </div>
</body>
</html>

So und hier der Code zum Template laden:
PHP:
<?php
// USERMENU
$umenu_task = $nav->query("SELECT * FROM `nav` WHERE `group`='umenu'");
$umenu = mysql_fetch_array($umenu_task);
$usermenu = $index->showtpl("interface/usermenu", array("Title" => "$title",
                                                        "CSS" => "$css",
														"umenu_link" => $umenu['link'],
														"umenu_name" => $umenu['name']));
?>

So nun stellt sich mir de Frage mit was für einer Schleife ich die Nav auslesen kann, damit die Links für die Platzhalter richtig eingefügt werden.

Ich habe echt im mom kein Plan wie ich das machen soll :(

Würde mich sehr über ne Hilfe freuen :)

MFG Niels
 
Habe es selber geschrieben ;-)

MFG Niels


//edit 1

hmm jez habe ich ne Idee^^

Also in der index.html mache ich solch einen "Container":

HTML:
<div align="center>
   <table>
   [usermenu]
   </table
</div>

So und die usermenu.html lass ich so aussehn:
HTML:
<tr>
    <td><font size="+1"><b>USERMENU</b></font></td>
</tr>
<tr>
	<td><a href="[umenu_link]">[umenu_name]</a></td>
</tr>

So jez müsste ich das mit den Links nur noch bissle ummodeln und dann inne schleife eibauen und fertig is :P

MFG Niels


//edit 2

Hmm ich komm irgendwie doch net so ganz weiter :(

Kann mir vll doch nochmal jmd. helfen?!

MFG Niels
 
ein Template für ein Navibit sollte wie folgt aussehen:
HTML:
<tr>
  <td><a href="[umenu_link]">[umenu_name]</a></td>
</tr>

dieses lädst du einfach in deiner Schleife (aus der navi tabelle) in ne Variable, und diese setzt du dann ins komplette seitentemplate ein, oder wohin auch immer es soll
HTML:
<html>
  <head>
    <link rel="stylesheet" media="screen" href="[css]"/>
    <title>[Title]</title>
  </head>
  <body>
    <div align="center"> 
      <table> 
        <tr>
          <td><font size="+1"><b>USERMENU</b></font></td>
        </tr>
          [menu_bits]
      </table>
    </div>
  </body>
</html>
zum Beispiel...
 
Ja habe ich gemacht......aber es wird mir immer nur der letzte eintrag angezeigt...

PHP:
<?php
$umenu_task = $nav->query("SELECT * FROM `nav` WHERE `group`='umenu'");
while ($umenu = mysql_fetch_assoc($umenu_task))
{
$usermenu = $index->showtpl("interface/usermenu", array("umenu_link" => $umenu['link'],
														"umenu_name" => $umenu['name']));
}
?>

Woran kann das liegen.
Den html Code habe ich auch so wie du gesagt hast.....hatte das schon vorher so probiert aber da es net funktinierte dachte ich es sein falsch....hmm aba anscheinend sind wir der Lösung dann doch schon näher^^


MFG Niels
 
Mit "=" überschreibst du den Inhalt der Variablen immer weider aufs neue!
Benutze stattdessen ".=", damit wirds dann angehangen...
 
So noch ne Frag dazu....ich habe ein Sprachsystem geschrieben...was halt die Sprache durch klick auf eine Flagge ändert.

Das möchte ich mit in die navi einbauen.

Das einzigste was dafür nötig ist sind die Platzhalter.

z.b.:

$language['nav_profil'];
$language['nav_nachrichten'];

habe das jez bei den Namen in der Nav datenbank eingetragen...die werden auch wunderbar in der schleife nun ausgelesen und stehen in der Navigation.
Nur stehen die als Platzhalter, also $language['blabla'] und nicht deren Inhalt....

Habt ihr ne Idee?

MFG Niels
 
wenn du das system so gemacht hast wie die anderen systeme, musst du diese variablen ebenfall in templatevaiablen umwandeln, also [language_profil]
 
Zurück