Mr.SergE Posted January 25, 2008 Report Share Posted January 25, 2008 (edited) Ir tāds piemērs: <ul> <li class="lielais"><a href="http://lapa.lv/viens/" class="navigacija_selected">Viens</a></li> <ul> <li class="maza"><a href="http://lapa.lv/viens/?sub=otas">Otas</a></li> <li class="maza"><a href="http://lapa.lv/viens/?sub=krasas">Krāsas</a></li> <li class="maza"><a href="http://lapa.lv/viens/?sub=putekli">Putekļi</a></li> </ul> <li class="lielais"><a href="http://lapa.lv/divi/">Divi</a></li> <li class="lielais"><a href="http://lapa.lv/tris/">Trīs</a></li> </ul> 1. līmeņa navigācija (Viens, Divi, Trīs) tiek ņemta manuāli, savukārt 2. līmeņa navigācija (sub parametrs) tiek izvadīta dinamiski. Visa informācija tiek glabāta string mainīgajā un izvadīta ar print($navigacija); Viss būtu skaisti, bet man ir divi jautājumi, kas neliek mieru: 1) Kā dinamiski, pirms $navigacija izvades, ņemot par pamatu to, kurā lapā tu šobrīd atrodies, piešķirt klasi "navigacija_selected"? 2) Vai ir kāds efektīvāks veids par šo, kā piešķirt GET parametru, pārtaisot visus latviešu burtus latīņu burtos? Paldies jau iepriekš par padomiem! Edited January 25, 2008 by Mr.SergE Link to comment Share on other sites More sharing options...
andrisp Posted January 25, 2008 Report Share Posted January 25, 2008 Varbūt parādi ar kādu kodu tu ģenerē to navigāciju. Pēc tava apraksta neko nesapratu. ;) Par to simbolu konvertēšanu - man liekas, ka tas būtu vislabākais veids, ja vajag tikai priekš LV un RU. Link to comment Share on other sites More sharing options...
Mr.SergE Posted January 25, 2008 Author Report Share Posted January 25, 2008 (edited) Varbūt parādi ar kādu kodu tu ģenerē to navigāciju. Pēc tava apraksta neko nesapratu. ;) Patiesībā jau tas kods nav tik būtisks. Vienkārši ir mainīgais $navigacija, kurā tiek glabāts šis HTML kods. Edited January 25, 2008 by Mr.SergE Link to comment Share on other sites More sharing options...
andrisp Posted January 25, 2008 Report Share Posted January 25, 2008 Ja tev to virssadaļu un apakšsadaļu ir padaudz, tad iesaku navigācijas struktūru pārnest masīva struktūrā un "ģenerēt" navigācijas HTML no tā. Tad iekš tā koda tu varēsi pārbaudīt, vai gadijumā $current_element == $_GET['sub'] , un ja jā, tad pielikt klasi selected klāt. Link to comment Share on other sites More sharing options...
Mr.SergE Posted January 25, 2008 Author Report Share Posted January 25, 2008 Tas varētu būt samērā sāpīgs risinājums, jo ģenerēt to navigāciju ir praktiski neiespējami. Vai nav variants, ka to var izdarīt ar skriptu, kas uzmeklē, vai konkrētajā HTML koda līnijā nav links uz pašreizējo aplūkojamo lapu un ja ir, tad piemet klāt to selected stila parametru līnijai klāt? Link to comment Share on other sites More sharing options...
andrisp Posted January 25, 2008 Report Share Posted January 25, 2008 Irēt ir, bet tas būs baigais čž risinājums. Un nebūs arī pārāk uzticams. Kāpēc "praktiski neiespējami" ? Link to comment Share on other sites More sharing options...
Aleksejs Posted January 25, 2008 Report Share Posted January 25, 2008 Andri, neiespējami var būt tādēļ, ka tas tiek saņemts no "melnās kastes" - skripta, kuru nevar izmainīt. Link to comment Share on other sites More sharing options...
andrisp Posted January 25, 2008 Report Share Posted January 25, 2008 Nu, tāds dirty paņēmiens :) $selected = 'viens'; $nav = str_replace('href="http://lapa.lv/'.$selected.'/"', 'href="http://lapa.lv/'.$selected.'/" class="navigacija_selected"', $nav); Link to comment Share on other sites More sharing options...
Mr.SergE Posted January 25, 2008 Author Report Share Posted January 25, 2008 Thanks, es mēģināšu tad ar str_replace. Laikam jau nav kāds savādāks workarounds, bet būs vēl jāpasvīst, lai no "http://lapa.lv/viens/index.php?fadlfdkaslfk" izdabūtu ārā "viens", ko tad likt iekš $selected. Link to comment Share on other sites More sharing options...
andrisp Posted January 25, 2008 Report Share Posted January 25, 2008 Hmm.. laikam nebūšu tad tev pareizi sapratis. Lai izdabūtu "viens" ārā no URL, var izmantot regulārās ekspresijas. Link to comment Share on other sites More sharing options...
Mr.SergE Posted January 26, 2008 Author Report Share Posted January 26, 2008 Hmm.. laikam nebūšu tad tev pareizi sapratis. Lai izdabūtu "viens" ārā no URL, var izmantot regulārās ekspresijas. Nu kā, samērā elementāri tak viss ir (vismaz man tā uz šo brīdi sāk šķist, ka viss varētu būt elementāri, tikai ar tām regulārajām ekspresijām jāpamokās). 1) Ir mainīgais $navigacija, kurā kā teksts tiek glabāta navigācijas html kods., t.i. -- tas, kas ir pirmajā postā minēts. 2) Ir lapas adrese, kura tiek arī ierakstīta mainīgajā $lapas_adrese (kā tiek iegūts, apspriedām vienā citā tematā šai pašā forumā) 3) Ir kaut kāds skripts, kas paņem mainīgo $lapas_adrese un mēģina "atkost", kurā vietā HTML kodā mainīgajā $navigacija ir jāpieliek klāt vēl viena CSS klase. Kāpēc skripts "mēģina atkost": lapas adrese var būt gan http://www.lapa.lv gan arī http://lapa.lv lapas adrese http://lapa.lv/divi/index.php?3 un http://lapa.lv/divi/rupnica_takdzikistana.php priekš navigācijas ir viens un tas pats -- sadaļa "Divi". lapas adresei var būt variants (par to gan īpaši var arī kaut kā paziņot), ka kaut kādai sadaļai ir apakšsadaļas, tad tās ir atsevišķi jāatzīmē, t.i., kā ir piemērā pirmajā ierakstā: sadaļai "Viens" ir apakšsadaļas. Link to comment Share on other sites More sharing options...
andrisp Posted January 27, 2008 Report Share Posted January 27, 2008 Nu tad ar regulārajām izteiksmēm dabū ārā. Un pēc tam ar to vienkāršo str_replace(). Link to comment Share on other sites More sharing options...
Recommended Posts