Autor Zpráva
Tomsaer
Profil
Zdravím,

mám stránku rozdělenou na 3 části. Po kliku na odkaz v levé části se mi otevře požadovaná stránka v pravé.

Jsem si vědom toho, že to odkazy mám asi špatně zapsané, ale funguje to.

Příklad jednoho odkazu:

<a href="?katalog" title="Katalog">Katalog</a>

zároveň mám ve stránce index.php v <DIVu> OBSAH vloženou tuto podmínku, která mi zajistí to, že se mi stránka otevře ve stejném okně.

if ($QUERY_STRING=="katalog"):
include "./katalog.php";
endif;


Kdyby odkaz vypadal následovně, tak se stránka otevře v novém okně a ne v pravé části stránky jak potřebuji.

<a href="./katalog.php" title="Katalog">Katalog</a>

Poradíte jak mám docílit toho, aby se stránka otevřela ve stejném okně v pravé části aniž bych musel používat složitě podmínky?
michaelkiller
Profil
Co keby si v tagu <a> pouzil atribut target na meno ramu kde chces stranku otvorit?
Tomsaer
Profil
Co keby si v tagu <a> pouzil atribut target na meno ramu kde chces stranku otvorit?

Nepoužívám rámy, tak to asi nepůjde. Možná že se mýlím.

Stránku mám rozdělenou pomocí divů:

<div id="levy"> - zde jsou odkazy
<div id="obsah"> - zde se mají data zobrazit
Honza Hučín
Profil
Doporučil bych opačný postup. Pro každý odkaz udělej novou stránku (pokud mají být podobné, jednoduše naklonuj index.php a změň obsah DIVu "obsah"). A do každé includuj menu s odkazy.
Tomsaer
Profil
Doporučil bych opačný postup. Pro každý odkaz udělej novou stránku (pokud mají být podobné, jednoduše naklonuj index.php a změň obsah DIVu "obsah"). A do každé includuj menu s odkazy.

No to asi nepůjde, jelikož chci udělat menší on-line obchod, a pro každou položku dělat vlastní stránku je dle mého názoru sebevražda...

Na internetu je X stránek které maji podobnou strukturu jako já, a pochybuji, že to řeší tím, že vytvoří pro každý odkaz jinou stránku.
Honza Hučín
Profil
Aha. No ale katalog může být samostatná stránka, ne?

Myslel jsem to takhle:

Hlavní stránka je index.php, ta má menu. Menu odkazuje např. na katalog obchodu, na stránku s kontakty a na obchodní podmínky.

Chci, aby katalog, kontakty i podmínky vypadaly podobně jako hlavní stránka, takže si vyladím hlavní stránku (menu a další společné prvky na ní includuju), vyrobím tři kopie a nazvu je katalog.php, kontakt.php, podminky.php. Do každé kopie vložím jiný obsah a nechám v ní jen společné prvky.

Katalog je seznam produktů, přičemž každý produkt je tam uvedený odkazem a třeba malým obrázkem. Chci, aby uživatel mohl po rozkliknutí vidět detaily o produktu. Takže si udělám další stránku produkt-detail.php a k tomu budu jako parametr dávat id produktu, třeba produkt-detail.php?id=24.

Stránka produkt-detail.php bude udělaná tak, že vezme id, dotáže se do databáze produktů a vypíše, co v databázi o produktu s tímhle id našla. Takže ti stačí jediná dynamická stránka pro zobrazování libovolného produktu. Akorát musíš použít databázi.
Leo
Profil
"Na internetu je X stránek které maji podobnou strukturu jako já, a pochybuji, že to řeší tím, že vytvoří pro každý odkaz jinou stránku."

Budete se divit, ale proc ne? S tim, ze se pouziva nejaky modularni / sablonovaci system, v nejhorsim pripade neco jako include "horni.php", include "spodni.php" pro vicemene nemenne casti stranky a doprostred se vygeneruje cast pro danou stranku specicka. Leo
Kaifman
Profil *
to Leo

proč v nejhorším případě include ? include či require je skvělá věc když máš x stránek na kterejch je to samý tak to přece nebudeš vkládat do každý zvlášť ne ? Myslím tím větší projekt na třístránkovej.
Tomsaer
Profil
Asi jste mě špatně pochopili...

Zkuste se podívat na stránky http://umis.kvalitne.cz/Extres

Ono to všechno funguje jak má, jenomže jak jsem již výše napsal, když kliknu na nějaký odkaz v levém menu tak aby se mi to načetlo v pravé části, tak musím mít v index.php tuhle podmínku:

if ($QUERY_STRING=="katalog"):
include "./katalog.php";
endif;

Odkaz pokud se podíváte vypadá http://umis.kvalitne.cz/extres/?katalog . Neumím to jinak zapsat, aby se stránka otevřela v pravé části. Proto se ptám, zda to lze zapsat jinak?

Chci to udělat přesně tak jak psal výše Honza Hučín, tzn. že každý výrobek má vlastní ID a za pomocí databáze budu informace o něj vyvolávat. Ale pokud bych to musel dělat dosavadním způsobem, musel bych mít strašně hodně podmínek. Případně to řešit "šilenými" skripty a to se mi nejeví jako nejlepší řešení.
Kaifman
Profil *
no ty ale přece nechceš otvirat z odkazu soubor ?katalog ty chces katalog jen predat jako parametr takze bys tam mel mit


<a href="index.php?katalog" title="Katalog">Katalog</a>
23k
Profil *
Muzu provim vedet proc pres QUERY_STRING? Ja pouzivam GET a pak muzu mit na strance , resp v url promennych kolik chci a vypisovat vice udaju a vubec.

index.php?kat=1&sekce=30 .... a vypisu neco co potrebuji + neco z dalsi sekce

a v tomto pripade / QUERY_STRING / vypisu pouze to co je za ? tj nemuzu predat vic argumentu. K cemu to tedy je???

DEKUJI
Honza Hučín
Profil
Právě proto, že to vypisuje celý řetězec, se toho někdy dá využít lépe než GETu. Třeba adresa toho typu, jak se o ní tady píše: www.domena.tld?neco. Je to nestandardní, ale to neznamená, že špatné. Například weby, které jedou nad Lotus Notes, mají leckdy hodně zvláštní adresy. Podívejte se třeba na web ČSÚ (www.czso.cz).
23k
Profil *
Mmmm diky za objasneni, ale presto stale setrvavam ze u Eshopu je to nesmysl.

Da se tvorit takto

?sekce=sportovni_obleceni&produkt=5
?sekce=5&produkt=5
nebo jen ?sekce=5 a pak odkaz na ?produkt=5 ( v tomto pripade v DB musi byt jasno kam ktery produkt patri).

Nicmene stale nevidim kloudny pripad jak vyuzivat query string. Nekdy nekde neco a potrebujete mit v URL 2 ci vice promennych a co pak?

PS. Klidne mi tykejte :)
Toto téma je uzamčeno. Odpověď nelze zaslat.