Autor Zpráva
Fantom001
Profil *
Čau, dělám různé stránky v HTML a CSS. Nemohl by mi někdo pomoct, protože když chci přidat v menu 1 odkaz, tak musim otevřít všechny stránky a předělat to na nich. Takže mě napadlo jestli by to nešlo udělat takhle: Byl by nějaký PHPdokumen a v tom bych udělal menu. A pak normálně napsal stránku v HTML a CSS a přidal bych k tomu ten PHPdokument. A když bych v tom PHP dokumentu přidal, ubral nebo předělal odkaz, tak by se to přidalo nebo ubralo samo na ostatních podtránkách webu.
Moc dík, Fantom.
Radek Nový
Profil *
Přeji hezký den

Odpověď jednoduchá, realizace složitější...
a) Musel by jsi současné stránky s příponou html uložit jako .php
b) vytvořit si samostatný soubor (např. menu.txt) s kodem menu
c) do všech stránek pomocí php funkce include vložit soubor /.menu.txt

Tím docílíš toho, že pokud cokoliv změníš v souboru menu.txt (v menu) , ihned se změní na všech stránkách.
Pro soubory s příponou html toto bohužel nelze použít.
TSD
Profil *
Dělá se to třeba takhle:
Uděláš index.php, který bude mít obvyklou strukturu, tzn. hlavička, menu, obsah, pata.

Menu upravíš tímto způsobem:

<ul class="menublock">
<li><a href="index.php">Novinky</a></li>
<li><a href="index.php?topic=obory">Obory</a></li>
<li><a href="index.php?topic=obortan">- Taneční obor</a></li>
<li><a href="index.php?topic=oborvyt">- Výtvarný obor</a></li>
</ul>


a obsah nahradíš tímto:

<?
if (($_REQUEST["topic"])=="") include "news.php";
if (($_REQUEST["topic"])=="obory") include "obory.php";
if (($_REQUEST["topic"])=="obortan") include "obortan.php";
if (($_REQUEST["topic"])=="oborvyt") include "oborvyt.php";
?>


V souborech news.php atd. pak máš čistě jen to, co se má vložit.
TSD
Profil *
Rozumím tomu, že tys to chtěl jinak. Samozřejmě to můžeš mít i tak, že budeš mít x stránek a v každé z nich

<?
include "menu.html";
?>

To co jsem popsal výše, je totéž, ale naruby a myslím že efektivnější, protože tak jako ty bys chtěl mít na jednom místě menu, tak budeš mít na jednom místě i hlavičku a patu.
Fantom001
Profil *
Ty bláho... nějak mi to nejde, zkoušel jsem to udělat podle těhto návodů, ale nějak sem se seknul :-(
Nemohli by jste mi udělat ukázku? něco jako "šablonu", na teré bych to viděl a pak skusil udělat do svých stránek. Jinak moc dík, skusim to udělat znovu, ale jestli by jste mi chtěli udělat tu ukázku, tak mi jí mužete poslat na telin.p@atlas.cz
Ještě jednou dík.
Akacko
Profil
Fantom001
Je to tak, jak psal TSD
Máš tyto soubory:
1) menu.php
2) index.php
3) všechny stránky, které budeš vkládat do index.php

menu.php
<ul class="menublock">
<li><a href="index.php">Novinky</a></li>
<li><a href="index.php?topic=obory">Obory</a></li>
<li><a href="index.php?topic=obortan">- Taneční obor</a></li>
<li><a href="index.php?topic=oborvyt">- Výtvarný obor</a></li>
</ul> 


index.php
// Hlavicka
<?php 
include('menu.php'); // Vlozis menu

// Podle nakliknuteho odkazu vkladas stranku
switch ($_GET["topic"])
{
 case "obory":
   include ('obory.php');
 break;
 case "obortan":
   include ('obortan.php');
 break;
 case "oborvyt":
   include ('oborvyt.php');
 break;
 default:
   include ('news.php');
 break;
}
?> 


A v ostatních stránkách (např: obory.php) máš jen text.
jendas
Profil *
Aby to fungovalo, musis jet pres server. Nezobrazi se ti to jako s priponou html.
Fantom001
Profil *
Jdu to zkusit, zatím dík.
Fantom001
Profil *
Čau, jste fakt dobrý! Udělal jsem si to podle vás a fakt mi to šlape, ale mam malou prozbu/problém.
Na stránce www.stronghold.clanweb.cz jsem si udělal takovou rychlou stránku (nekoukejte na grafiku atd., je to fakt na rychlo), kde si to chci vyzkoušet.
Prozba/problém:
Jak mam vyměnit to PHP menu tam nahoře s tim menu dole?

Zase předem dík. :)
imploder
Profil
Ten seznam není potřeba. Místo toho stačí vytvořit 1 stránku s příponou .php obsahující menu a pod ním kód:
include "./" . $_GET["p"] . ".php";


Jednotlivé odkazy by měly v URL nastaveno ?p=jmeno, třeba
<a href="index.php?p=nov">Novinky</a>
<a href="index.php?p=obo">Obory</a>


Soubory s obsahem jednotlivých sekcí by se v tomto případě jmenovaly
nov.php
a
obo.php
.
imploder
Profil
Fantom001
Jak mam vyměnit to PHP menu tam nahoře s tim menu dole?

Normálně tam ty odkazy vyměň za nějaké, které nastavují název stránky do proměnné, jak to máš nahoře. Include pak dej do obsahové části, která se mění. V načítaných souborech nemusí být nutně celý zbytek stránky, můžeš načítat z jiného souboru klidně třeba jenom obsah 1 divu.
Fantom001
Profil *
Skoušim to, ale jsem nějak v háji.
Mirec132
Profil *
ja pouzivam tento script

$index_page = $_GET["pg"];
$index_folder = "pages/";
$index_home_page = "home.php";
if($index_page)
{
if(file_exists($index_folder . $index_page . ".php"))
{include($index_folder . $index_page . ".php");}
else
{include($index_folder . "404.php");}
} else {
include($index_folder . $index_home_page);
}
Mirec132
Profil *
index.php - - script
pages/home.php - - obsah

url - - http://www.domena.com/index.php?pg=home
Mirec132
Profil *
index.php
pages/home.php
pages/obsah1.php
pages/obsah2.php
pages/obsah3.php

***************
<a href="index.php?pg=home">Home</a>
<a href="index.php?pg=home">Obsah 1</a>
<a href="index.php?pg=home">Obsah 2</a>
<a href="index.php?pg=home">Obsah 3</a>

<?php
$index_page = $_GET["pg"];
$index_folder = "pages/";
$index_home_page = "home.php";
if($index_page)
{
if(file_exists($index_folder . $index_page . ".php"))
{include($index_folder . $index_page . ".php");}
else
{include($index_folder . "404.php");}
} else {
include($index_folder . $index_home_page);
}
?>

*****************
Fantom001
Profil *
Mě ty odkazy jdou, ale nevim jak je mam dát tam ze zhora dolu, jak májí být. Chtěl bych, aby bylo to PHP menu pod tou lištou MENU.
Viz. http://www.stronghold.clanweb.cz/menu.jpg

Ps.: Jestli by někdo chtěl, tak mu mužu poslat tu složku s tou stránkou na e-mail. A udělal mi to, protože nevim si vůbec rady. Jako horizontální menu (když si to trochu předělám) to je skvělí, ale jako vertíkální, to je na nic. Neni to tam kde to má být.

Dík.
Radek Nový
Profil *
Nevím zda se nepletu, ale zřejmě to bude tím, že "Nové" menu nemáš nikde umístěno, proto se zobrazuje pravo nahoře. Kód musíš umístit do "Divu" kde je menu staré....
Fantom001
Profil *
Čau, hele teď sem u toho seděl asi přes hodinu a nevim jak to dát do toho divu. Různě jsem to zkoušel a udělalo mi to uplně nějakou blbost. :-( :-( :-(

Jak to mám dát do toho divu?

Dík.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0