Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak zbudowac takie menu ..., zobrazowalem to na rysunku
B3T0N
post 18.03.2005, 12:57:40
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 12.10.2003

Ostrzeżenie: (0%)
-----


ok, mamy strone z zawartoscia, gdzie zawartosc jest wyswietlana przez funkcje include()

  1. <?php
  2. if (!isset ($action)){
  3. $action = 'main';
  4. }
  5. if (!preg_match (&#092;"([^0-9a-zA-Z]+)\", $action)){
  6. include (&#092;"$action.php\");
  7. }
  8. else {
  9. include ('main.php');
  10. }
  11. ?>


z boku znajduje sie menu jak na rysunku 1 :




chcialbym, aby po kliknieciu w np. menu1 przenioslo mnie do zadanej zawartosci na stronie glownej, oraz aby rozwinelo mi sie podmenu (obrazek 2)

takze chcialbym aby to nie zwijalo mi sie, gdy nawiguje po zawartosci strony glownej - zrobilem juz takie na includach, ale niestety zwija mi sie

moze ktos mi pomoze ?

rysunek 2:


--------------------
PC-TUNING.PL - ZMODYFIKUJ SWÓJ KOMPUTER !!!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
donpablo
post 18.03.2005, 15:24:57
Post #2





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 28.02.2005

Ostrzeżenie: (0%)
-----


hmm, ja to zrobiłem tak:
utworzyłem plik tekstowy o nazwie menu.txt i nadałem mu charakter bazy danych w sposób nstepujacy:
id|dzial|poziom|opis|kat_php|plik_php|katalog|plik_tresci||
nie ma przeszkód aby zamiast pliku zrobić baze danych
id - to identyfikator
dzial - to dział
poziom - poziom menu itp: np.:
abt01|abt|1|O firmie||index.php|o_firmie/|o_firmie.html|
jeśli w polu poziom wpiszesz 2 to menu sie rozwinie
a kod realizujący działanie tego menu jest taki:
  1. [php]<table border=\"0\" rules=\"none\" width=\"170\" cellpadding=\"0\" cellspacing=\"1\" bgcolor=\"#006699\">
  2.  <tr>
  3.  <td class=\"tabmenu\"><sup>&nbsp;</sup><font color=\"yellow\">Menu główne<sub>&nbsp;</sub>
  4.  
  5.  
  6. <table width=\"170\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"rgb(149,210,240)\">
  7. <tr>
  8.  
  9. <td width=\"17\" height=\"1\" border=\"0\"><img src=\"<? echo $pixadr; ?>\" ></td>
  10. <td width=\"17\" height=\"1\" border=\"0\"><img src=\"<? echo $pixadr; ?>\" ></td>
  11. <td width=\"16\" height=\"1\" border=\"0\"><img src=\"<? echo $pixadr; ?>\" ></td>
  12. <td width=\"120\" height=\"1\" border=\"0\"><img src=\"<? echo $pixadr; ?>\" ></td> 
  13. </tr>
  14. <!-- Odczytanie pliku menu -->
  15.  
  16. <?
  17.  
  18. // otwarcie pliku w biez&plusmn;cym katalogu
  19. if(!($menu=@fopen(&#092;"menu.txt\",\"r\"))) {
  20. echo &#092;"Bł&plusmn;d otwarcia pliku\";
  21. }
  22. $next=&#092;"3\";
  23. while(!@feof($menu)) {
  24. $aktualny = 0;
  25. $i=0;
  26.  
  27. // odczyt pojedynczej linii pliku menu.txt
  28. $linia = @fgets($menu,255);
  29. if(ereg(&#092;"^[a-z0-9]\",$linia)){
  30. $rekord = split(&#092;"|\",$linia,10);
  31.  
  32.  
  33. // czy podswietlic menu
  34. if($id==$rekord[0]){
  35. $aktualny = 1;
  36. //je&para;li id jest takie jak warto&para;ć pierwszego rekordu to komletujemy &para;cieżkę do pliku skojarzonego z warto&para;ci&plusmn; id
  37. $texturl = $nawi[&#092;"lpath\"].$rekord[6].$rekord[7];
  38.  
  39. } else {
  40.  $aktualny = 0;
  41. }
  42.  
  43. if(substr($id,0,5)==$rekord[1]) $i++;
  44. else $i--;
  45.  
  46. /*komletujemy teraz adresik do odno&para;ników po zmiennej id*/ 
  47.  
  48. if(isset($_SESSION[&#092;"login\"]) && isset($_SESSION[\"haslo\"]))
  49. {
  50. $sessid = SID;
  51. $adres = $nawi[&#092;"adres\"].$rekord[4].$rekord[5].\"?id=\".$rekord[0].\"&\".$rekord[8].$sessid;  
  52. }
  53. else
  54. {  
  55. $sessid = &#092;"no_sess\";
  56. $adres = $nawi[&#092;"adres\"].$rekord[4].$rekord[5].\"?id=\".$rekord[0].\"&\".$rekord[8].\"user=anymous\".\"&\".$sessid;
  57. } 
  58.  
  59. // otwarcie pliku
  60. if($path_dir==&#092;"\"){
  61.  $url= $actual_path;
  62. }
  63. else {
  64.  $url= $adres.&#092;" \".$path_dir;
  65. }
  66. //grafiki dla poszczególnych zdarzeń
  67. if(($aktualny==&& $rekord[2]==1) || ($aktualny==&& $rekord[2]==2))
  68. {
  69. $gif = $pic[&#092;"on\"]; 
  70. } 
  71. else 
  72. {
  73.  
  74.  if($rekord[2]==1)
  75.  {
  76. $gif = $pic[&#092;"arrow\"];
  77.  }
  78.  else if($rekord[2]==2)
  79.  {
  80. $gif = $pic[&#092;"okrag\"];
  81.  }
  82.  }
  83. // czy rowin&plusmn;ć menu ?
  84. if(substr($id,0,3)==$rekord[1])
  85. {
  86.  $rozwin=true;
  87. }
  88. else 
  89. {
  90.  $rozwin = false ;
  91. }
  92. //wyswietlenie poszczególnych odno&para;ników
  93.  if($rekord[2]==0) {
  94. echo &#092;"<tr><td height=\"22\">\".$gif.\"</td>n\";
  95. echo &#092;"<td colspan=\"3\">\";
  96. echo &#092;"<A class=\"php1\" href=\"\".$adres.\"\">\";
  97. echo $rekord[&#092;"3\"];
  98. echo &#092;"</A></td></tr>n\";
  99.  
  100.  
  101.  } 
  102.  else if($rekord[2]==1) {
  103. echo &#092;"<tr><td height=\"22\">\".$gif.\"</td>n\";
  104. echo &#092;"<td colspan=\"3\" >\";
  105. echo &#092;"<A href=\"\".$adres.\"\" class=\"menulink\" class=&{ns4class};>\";
  106. echo $rekord[&#092;"3\"];
  107. echo &#092;"</A></td></tr>n\";
  108.  }
  109.  else if($rekord[2]==&& $rozwin) {
  110. echo &#092;"<tr><td>&nbsp;</td><td height=\"20\">\".$gif.\"</td>\";
  111. echo &#092;"<td colspan=\"3\">\";
  112. echo &#092;"<A class=\"php2\" href=\"\".$adres.\"\">\";
  113. echo $rekord[&#092;"3\"];
  114. echo &#092;"</A></td></tr>\";
  115.  }
  116.  
  117.  }//koniec ifa
  118. } // end while() 
  119. fclose($menu);
  120. ?>
  121. </table>
  122. </td>
  123. </tr>
  124. </table>
[php]
zapisujesz to jako np. menu.php i includujesz do pliku głównego, zmienne $gif zawierają ścieżki do plików .gif które musisz sobie zrobić i to na tyle , reszta nie wymaga chyba komentarza

Ten post edytował donpablo 18.03.2005, 15:27:58
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 21:05