Jump to content
php.lv forumi

Lapas navigacijas koda izveide


Mr.SergE

Recommended Posts

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 by Mr.SergE
Link to comment
Share on other sites

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 by Mr.SergE
Link to comment
Share on other sites

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

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

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

×
×
  • Create New...