Autor Zpráva
pan.kolouch
Profil *
Zvažuji dát si na stránku drobečkovou navigaci, pro lepší orientaci, ale nevím kde začít. Trošku jsem prozkoumal anglické tutoriály, ale moc chytrý z toho nejsem. Jeden byl napsán (pro mě složitě) pomocí OOP a druhý vyžaduje jinou strukturu umístění souborů na serveru. Tj. např. www.neco.cz/kontakt/index.php, nebo www.neco.cz/sluzby/index.php. Současná struktura mého webu je taková, že includované soubory mám v přímo v rootu, jak je index. Takže www.neco.cz/kontakt.php, přičemž používám index.php?stranka=kontakt.php

tady bych se chtěl zeptat na pár věcí.

1) když už předělám strukturu tak, abych měl každou stránku zvlášť v určeném adresáři, jak se pak zapisuje url ??
Je správně index.php?kontakt/index.php ? Nebo jak se to zapisuje :-)

2) Potřeboval bych "nakopnout" správným směrem, ať se nesnažím vymýšlet složité skripty, v kterých se nakonec stejně zamotám.

Předem děkuji všem za odpověd.
Kajman
Profil *
Díky módu rewrite pro apache nemusí být viditelná struktura webu odrazem fyzického uspořádání.

Tzn. můžete mít adresu www.example.com/kontakt/, která však ve skutečnosti bude dávat obsah jako www.example.com/index.php?stranka=kontakt.php
Leo
Profil
"Díky módu rewrite pro apache nemusí být viditelná struktura webu odrazem fyzického uspořádání"

A navic drobeckova navigace nemusi odpovidat ani strukture URL ani strukture adresaru. Leo
printf_jinde
Profil *
předně nevím jakou má výhodu otevírat stránky přes index.php. Vhodnější se mi jeví includovat soubor, který vykreslí stránku, aby byl jednotný design.

Dal bych do rootu soubory jako třeba kontakt.php a další, přičemž každý z nich by svůj výstup uložil do proměnné a navíc uložil i své označení pro drobečkovou navigaci. Na konci by includoval (či requiroval) nějaký soubor jako design.php, který převezme proměnné s textem a obalí je celkovým designem stránky. Návštěvník to vůbec nemusí poznat.

Záleží samozřejmě na tom, jak moc je ten web strukturovaný.
pan.kolouch
Profil *
printf_jinde:

No jeví se mi to přes index jako nejjednodušší způsob. Includuju to co je za stranka= takže design je jednotný. Mám dvousloupcový layout, kde se v jedné části mění obsah a v druhé části je jiný obsah při každé stránce jiný. Mám tedy příkaz switch, do kterého přebírám proměnnou stranka, kde pak includuju $stranka.".php"; Pak mám jedno pole, kde mám ke každé položce menu přiřazen atribut title, abych jej nemusel vypisovat na každé stránce, přičem vždy vypisuje jiné title, pokud je uživatel na akutální pozici atd. Zdá se mi to jako jednoduché řešení, i když jsem jej možná složitě popsal.

Kajman:

Ano o mod_rewrite vím moc dobře, bohužel už jsem se tady na to v diskuzi ptal, jak jej zprovoznit na lokále, ale nikdo nedokázal poradit. Přešel jsem z Php Triad na WAMP Server, nastavil vše, co jsem našel v různých fórech, ale pořád nic. Na hostingu to nevyzkouším, protože mi musí admin nejdříve schávlit soubor .htaccess, než ho umístí do mého rootu, což nějakou dobu trvá.

Leo:

No a tady bych nejspíš potřeboval vědět jak na to ... prostě nejjednodušší cesta.

Díky všem
Kajman
Profil *
Většinou stačí odpoznámkovat oba řádky, kde se načítá modul rewrite a zkontrolovat zda je pro documentroot nastaveno "AllowOverride All".
pan.kolouch
Profil *
Kajman:

To jsem právě odkomentoval. Chápu správně, že po vytvoření souboru .htaccess v rootu webu, který je nastaven jako localhost, do něj zadám pravidla, pro rewrite a následně bych měl při správné funkčnosti vidět už přepsané url v prohlížeči ..

BTW. S tou drobečkovou navigací žádné rady ? :-(

Jinak děkuji
Kajman
Profil *
Pokud máte opravda správně nastavený apache, tak při obsahu souboru .htaccess např

RewriteEngine On
RewriteRule .* http://www.example.com/

By se to mělo přesměrovat. Další věcí, co by tam nemuselo být odkomentováno je např. "AccessFileName .htaccess" nebo "AllowOptions All".

A co se drobečkové navigace týče, tak to je jen vaše věc, jak si zanoření znázorníte. Jak psal Leo, s adresou to nemusí mít nic společného.
Leo
Profil
Pokud mate nejaky redakcni system, at uz to znamena cokoliv, tak v nem muzete vytvorit kategorie a podkategorie, a kazdou stranku nekam zaradite. Informace o tom, kde dana stranka v hierarchii je musi byt nekde ulozena (typicky v databazi) a podle ni vytvorite drobecky. Leo
igamenir
Profil
K drobečkové navigaci bych také doporučoval naplánovat si mapu webu. Jasně pak budete vědět, co kam patří.
pan.kolouch
Profil *
všem děkuji

Kajman:

Tak mod_rewrite mi samozřejmě funguje, jen jsem měl asi špatně napsané pravidlo pro přepis stránky typu www.neco.cz/index.php?stranka=neco na www.neco.cz/neco budu nad tím muset ještě popřemýšlet. Díky za tip
na odzkoušení.

Igamenir:

Mapu webu mám. Není to nijak moc rozvětvený web. Jen asi 3 stránky z 8mi hlavních jsou rozvětveny dále. Tzn mám maximálně toto home > stranka > podstranka zbytek je typu home > stranka.

Leo:
Jsem rád, že jsem se naučil pár pro mě důležitých věcí v PHP a na databáze se vlastně teprve chystám, ale bohužel se jim nebudu moci věnovat dříve, než dokončím tento web. Takže hirearchii z databáze zatím číst nemohu, ale i tak dík za radu.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0