Autor | Zpráva | ||
---|---|---|---|
Esop Profil * |
#1 · Zasláno: 1. 1. 2008, 17:45:19
Dobrý den, potřeboval bych radu jak udělat menu u eshopu. Budou tam hlavní kategorie a podkaterie a jejich podkategorie. Prostě to může být strašně rozvětvené. Vím jak to má vypadat, ale netušim jak to provést. Jak uložit data do db? Napadlo mně třeba z nich udělat
něco jako adresářovou strukturu (Neco/podneco/podpodneco) a v takovém formátě to uložit do db, jenže pak by byl problem vypisováním. Takže jestli můžete dát nějakou radu, jak takové rozvětvené menu udělat, budu moct v děčný. Děkuji předem FB |
||
Smajlix Profil * |
#2 · Zasláno: 1. 1. 2008, 18:35:03
napiš mi na ICQ# 282847458 a já ti to kompletně osvětlim..
|
||
Akacko Profil |
#3 · Zasláno: 1. 1. 2008, 18:48:15
Smajlix
Nechtěl bys to napsat i tady? nějak stručně? Protože k tomuto problému se dostává hodně lidí (taky jsem s tím před půlrokem zápasil). Kdoví, možná se taky přiučím. |
||
Alphard Profil |
#4 · Zasláno: 1. 1. 2008, 19:01:12
|
||
orsic Profil |
#5 · Zasláno: 2. 1. 2008, 00:28:37
Taky by mě zajímalo Smajlixovo řešení ...
|
||
Smajlix Profil * |
#6 · Zasláno: 2. 1. 2008, 00:41:58
předkládám své řešení, když by vás to zajímalo:
http://uloz.to/130899/polozky.rar |
||
Smajlix Profil * |
#7 · Zasláno: 2. 1. 2008, 00:44:27
psal jsem to narychlo, kdyby z toho nedko netusil, tak rad vysvetlim, ale nejsem na nejaky popisovy slohy - uz ani neumim poradne cesky psat..
|
||
Str4wberry Profil |
#8 · Zasláno: 2. 1. 2008, 00:50:59
Odpovídám Smajlixovi:
Nebylo by lepší, vložit ten kousek kódu sem do fóra? |
||
Akacko Profil |
#9 · Zasláno: 2. 1. 2008, 10:32:32
Škoda že zde není něco jako wiki, kde by se dávali takové věci a návody.
|
||
Esop Profil * |
#10 · Zasláno: 2. 1. 2008, 11:00:57
Tak to asi vyřeším, že budu mít tabulku (id, jmeno, jmeno4url, hloubka, rodic), kde v pro hlavní položky bude rodič /// (něco neutrálního, co by nikdo neměl použít pro název kategorie) a subpoložek vždy bude odkazovat na rodiče v jmeno4url. Jmeno4url je ošetřené jméno (bez diakritiky, mezery nahrazené pomlčkou). Takže subpoložka hlavní položky Oblečení (jmeno4url = obleceni, rodic = ///, hloubka = 0) bude Pánské(jmeno4url = panske, rodic = obleceni, hlubka=0). Subpoložkou pro Pánské budu Kalhoty (jmeno4url = kalhoty, rodic = obleceni/panske, hloubka = 2) doufám, že s tímto řešením půjde vše tak jak má.
Proč rodič ve tvaru obleceni/panske a ne nějaká číselná hodnota? Protože v URL chci předávat data ve tvaru cat=obleceni, can=obleceni/panske ... postupne mozna pride na radu htaccess. Je to dobré řešení, nebo mne doporučíte jiné??? |
||
Esop Profil * |
#11 · Zasláno: 2. 1. 2008, 11:02:13
Edit: ... bude Pánské(jmeno4url = panske, rodic = obleceni, hloubka=1).
|
||
Akacko Profil |
#12 · Zasláno: 2. 1. 2008, 11:07:40 · Upravil/a: Akacko
Esop
Já osobně bych do rodic ukládal ID položky panske a ne text → rodic = 1. |
||
Esop Profil * |
#13 · Zasláno: 2. 1. 2008, 16:45:40
Akacko
a to proč? |
||
Akacko Profil |
#14 · Zasláno: 2. 1. 2008, 17:40:15
Esop
No třeba proto že je to zbytečné a myslím že bude rychlejší dělat procesy s typem int než varchar. A je ještě takové nepsané pravidlo (dalo by se říct), že se pro relace používá ID položky, ne její název a to z důvodu duplikace. (Stejná položka může byt v databázi vícekrát, ID je však jedinečné). |
||
Esop Profil * |
#15 · Zasláno: 2. 1. 2008, 18:20:59
No to určitě ano, jenže pak je zase komplikovanejší předávat a zpracovávat ty data z URL
|
||
smajlix Profil * |
#16 · Zasláno: 2. 1. 2008, 21:03:01
doporucuju hazet to id rodice, text je zase zdrzovani... nicmene, pokud si das k tomu nazvu unique, tak to take muze bez problemu jet (ale podle me je to zbytecne zpomalovani a znasilnovani skriptu)
|
||
smajlix Profil * |
#17 · Zasláno: 2. 1. 2008, 21:09:33
jenom mi tam prijde trosku zmatena ta hloubka.. koukals na ten muj kod??
|
||
Alphard Profil |
#18 · Zasláno: 2. 1. 2008, 21:26:48
smajlix
tvůj kód vypadá přehledně, ale rekurze nebude nejefektivnějí Esop píše Prostě to může být strašně rozvětvené. Tohle by mohlo vést až k několika desítkám (snad ne stovkám) dotazů na databázi na každé stánce. Esop nevím, jak často se bude to menu měnit a jak rychlé řešení vymyslíš, ale možná by stálo za úvahu cachování |
||
smajlix Profil * |
#19 · Zasláno: 2. 1. 2008, 22:16:50
Alphard
Tak s těmi dotazy máš pravdu. Jak jsem to psal rychle, tak jsem nad tím ani nepřemýšlel. Nicméně, šlo by to po každé změně uložit do nějakého souboru a z něj to tahat.. |
||
Alphard Profil |
#20 · Zasláno: 2. 1. 2008, 22:30:17
smajlix
Nicméně, šlo by to po každé změně uložit do nějakého souboru a z něj to tahat.. o příspěvěk výše jsme to již navrhoval, Esop se musí rozhodnout podle konkrétní situace |
||
Časová prodleva: 16 let
|
0