Více posílaných atributů, ne všechny viditelné v url
- pidiclovek
- Člen | 91
Ahoj,
totálně začátečnícký dotaz, řekl bych :) Řekněme že si
u určitých dat v databázi (mám např auto) potřebuji uchovávat dvojí
id. Číselné autoinkrementální a string, který je třeba výsledkem
webalize fce z názvu (našeho auta). Protože ale je určitá
pravděpodobnost, že ačkoliv se objekty reálného světa budou v názvu
lišit, výsledek webalize bude stejný. Ten string používám pro cool url,
ale protože je možné, že v db bude více oněch string id, chci se na ně
odkazovat tím autoinkrementálním, ale zároveň s zachovaným textovým id
v url. Omluvte krkolomnost vysvětlení :D
poradíte prosím jak na to? Tak, aby v url nebylo číselné id vidět, ale
přesto jsem ho „nějak“ předal?
Moc díky :)
- redhead
- Člen | 1313
Pokud víš, že jsou možné dva stejné webalized názvy, tak určitě ne.
Když pak uživatel zadá adresu example.com/skoda-felicia-kombi
a
v db budou 2 stejné názvy, jak se pak aplikace rozhodne, který z nich
zpracovat?
Normálně se to dělá tak, že se do url dá jak id, tak slug.
Třeba example.com/851-skoda-felicia-kombi
- pidiclovek
- Člen | 91
Díky, to jsem si myslel, napadly mě vlastně jen dvě možnosti, jak tohle řešit – posláním id POSTEM, což mi nepřijde moc košéř, nebo použití obojího. Musím si takhle obojetné id spojit a pak zase roztrhnout, či je na to Nette nějak připraveno?
EDIT:\\ O posílání více proměných vím, ale to mi vygeneruje něco jako /skoda-felicie?id=666
Editoval pidiclovek (12. 10. 2011 22:38)
- pidiclovek
- Člen | 91
mkoubik napsal(a):
Jenom si dej do routy:
$router[] = new Route('<id>-<slug>', array( 'presenter' => 'NazevPresenteru', 'action' => 'nazevAkce', ));
Přesně tohle jsem hledal, díky za pomoc!