Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kako da postavim navigaciju na sajt

[es] :: PHP :: kako da postavim navigaciju na sajt

[ Pregleda: 2351 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bokini

Član broj: 7372
Poruke: 101
*.dialup.sezampro.yu.



Profil

icon kako da postavim navigaciju na sajt05.12.2004. u 13:27 - pre 236 meseci
Pozdrav,

Zeleo bih da zatrazim jedan savet vezan za php i mysql. Mozda je pitanje vise MySQL related, ali se radi u PHP-u.

Naime, na sve vise sajtova vidjam sledeci sistem navigacije:

Home > Stranica 1 > Stranica 1.1 > Stranica 1.1.1 > Krajnja Stranica

Ovaj tekst uglavnom stoji na vrhu strane, i korisnik ima mogucnost da klikne na neki od linkova za lako kretanje po sekcijama. Mozete videti primer na: www.b92.net , pa kliknite na neku vest, mada mislim da svi znaju kako ovo izgleda.

Ja sam probao da ovo ubacim u moj sajt, ali se svelo na to da sam rucno unosio taj tekst, podesavao linkove, formatira za svaku stranicu. Pakao je nastao kada sam morao neku stvar da izmenim, pa sam to morao da radim svuda. Zato sam resio da to uradim pomocu PHP-a i MySQL-a.

Nesto sam razmisljao da u bazi drzim spisak stranica i da svaka stranica ima svoj parent_page_id koji bi pokazivao na neku Parent stranicu, zatim bi ta Parent stranica imala svoju Parent stranicu (klasicno stablo) i sve tako do Home:

Code:

id    parent_page_id   title              primer:
1           1          Home                Home
2           1          Products            Home > Products
3           2          Product 1           Home > Products > Product 1
4           3          Screenshots         Home > Products > Product 1 > Screenhots


Jos treba dodati URL polje

To lepo fukncionise na papiru, ali ne znam kako to da prikazem na ekranu. Potrebno mi je da nekako dobijem spisak svih parent stranica za odredjenu stranicu pomocu SQL upita i da ih lepo prikazem i formatiram pomocu PHP-a.

Nesto sam mislio da to uradim sa vise MySQL upita, ali mi se cini previse komplikovano. Da li ovo nekako mogu da uradim pomocu jednog SQL upita.

Ako sam izabrao totalno lose resenje, bilo bi super da mi neko kaze kako to moze bolje Ako neko ima source php sajta sa takvom navigacijom, bio bih mu zahvalan da mi posalje. Ili ako negde na internetu postoji tutorial za ovo. Pokusao sam da nadjem preko google-a, ali nisam znao kako da formulisem izraz

Pozdrav i Hvala

[Ovu poruku je menjao bokini dana 05.12.2004. u 17:10 GMT+1]
 
Odgovor na temu

boccio
Boris Krstović
Spoonlabs.com
nbgd

Član broj: 7594
Poruke: 2458
*.ptt.yu.

Sajt: bocc.io


+771 Profil

icon Re: Prakticno pitanje05.12.2004. u 14:55 - pre 236 meseci
Citat:
bokini:Pokusao sam da nadjem preko google-a, ali nisam znao kako da formulisem izraz :)

zove se "breadcrumb", pa pravac hotscripts na tutoriale...

p.s. daj temi malo smisleniji naziv, npr. kako da postavim navigaciju na sajt, breadcrumb, ili slicno...
Jeff, one day you’ll understand that it’s harder to be kind than clever.
 
Odgovor na temu

bokini

Član broj: 7372
Poruke: 101
*.dialup.sezampro.yu.



Profil

icon Re: kako da postavim navigaciju na sajt05.12.2004. u 16:18 - pre 236 meseci
Hvala na odgrovoru,

Skinuo sam sve skripte sa sajta. Nazalost, sve skripte se zasnivaju na strukturi foldera na disku. Zanima me da li postoji negde breadcrumb ali koji radi sa bazom, ili pak txt fajlom. Meni se struktura foldera na disku veoma razlikuje od strukture sajta. Baza bi bila idealno resenje.

Ako nema takvih skripti, probacu ovde da na MySQL forumu zatrazim resenje za SQL upit.

pozdrav
 
Odgovor na temu

boccio
Boris Krstović
Spoonlabs.com
nbgd

Član broj: 7594
Poruke: 2458
*.ptt.yu.

Sajt: bocc.io


+771 Profil

icon Re: kako da postavim navigaciju na sajt05.12.2004. u 16:45 - pre 236 meseci
Pazi, sve zavisi od toga kako ti izgleda struktura kategorija/podkategorija. Primer koji si uzeo sa B92 je jedan sistem pravljenja breadcrumb-a, i on prakticno rekurzivno uzima podkategorije u kojima se konkretna strana (clanak, vest) nalazi sve do vrha. Npr:
Home > Sport > Fudbal > Zvezda sampion :)

Takav sistem mozes jednostavno da napravis - dovoljno je da iteriras u rekurzivnoj funkciji od ID-ja podkategorije u kojoj se strana nalazi kroz njene parent categorije. Nema potrebe da kreiras posebnu tabelu zamo za tu svrhu.

Za daljnu referencu ti preporucujem ovaj tutorial, lepo opisuje dva modusa hijerarhijskom pristupu podacima: adjacency list model i modified preorder tree traversal algorithm.
Jeff, one day you’ll understand that it’s harder to be kind than clever.
 
Odgovor na temu

bokini

Član broj: 7372
Poruke: 101
*.dialup.sezampro.yu.



Profil

icon Re: kako da postavim navigaciju na sajt05.12.2004. u 18:37 - pre 236 meseci
Hvala na liknu. U principu to je to, kao sto sam pretpostavio, za najlakse resenje mi je trebala rekurzija. Mislim da cu ipak uzeti ono komplikovanije dirigovano resenje.

Citat:
Takav sistem mozes jednostavno da napravis - dovoljno je da iteriras u rekurzivnoj funkciji od ID-ja podkategorije u kojoj se strana nalazi kroz njene parent categorije. Nema potrebe da kreiras posebnu tabelu zamo za tu svrhu.


Ovo mi nije jasno, kako mogu da uradim navigaciju bez tabele? Struktura foldera na disku i struktura stranica na sajtu se potpuno razlikuju. Moram negde da cuvam ID koji pokazuje na parent nod (i tako do vrha)

pozdrav
 
Odgovor na temu

boccio
Boris Krstović
Spoonlabs.com
nbgd

Član broj: 7594
Poruke: 2458
*.ptt.yu.

Sajt: bocc.io


+771 Profil

icon Re: kako da postavim navigaciju na sajt05.12.2004. u 19:37 - pre 236 meseci
Citat:
bokini:
Ovo mi nije jasno, kako mogu da uradim navigaciju bez tabele? Struktura foldera na disku i struktura stranica na sajtu se potpuno razlikuju. Moram negde da cuvam ID koji pokazuje na parent nod (i tako do vrha)
pozdrav

Taj deo se odnosio na breadcrumb sistem gde se oslanjas na kategorije i podkategorije u navigaciji - primer sa B92 sajta. Uzmimo prost primer - predpostavimo da imas ovakvu sql tabelu
Code:

id    int(6) NOT NULL auto_increment,
category    varchar(40) NOT NULL,
parent_cat    int(6) NOT NULL,
PRIMARY KEY (id) 

dakle svaka ugnjezdena podkategorija ima ID svoje parent kategorije (to je onaj primer: home > sport > fudbal > ....)
U takvoj konstelaciji mozes da primenis to sto sam opisao...
Jeff, one day you’ll understand that it’s harder to be kind than clever.
 
Odgovor na temu

bokini

Član broj: 7372
Poruke: 101
*.dialup.sezampro.yu.



Profil

icon Re: kako da postavim navigaciju na sajt05.12.2004. u 20:14 - pre 236 meseci
da, to sam i rekao na pocetku (prvi post), mozes da vidis gore parent_page_id polje obavlja sve.

Sad, kao sto znas, problem je u isrctavanju za koje je potrebna rekurzija. Na sajtu (koji si mi poslao) je dato resenje sa rekurzijom. Nazalost prilikom svakog rekurzivnog poziva se ponovo salje upit mySql serveru i to je ono za sta sam pretpostavljao da ce da komplikuje stvar (zbog toga sam pisao ovde :)) . Na sajtu takodje imaju jos jedno resenje koje je malo komplikovanije, ali je i brze.

pozdrav
 
Odgovor na temu

explode
Slovenia

Član broj: 41506
Poruke: 1
*.net.



Profil

icon Re: kako da postavim navigaciju na sajt08.12.2004. u 20:25 - pre 236 meseci
Ovo je iz mojega primera:
Povuci podatke iz sql in jih daj v array();
Ovaj koda trazi mysql za informacije o strani
Code:

function createContent()
    {
        $this -> pageContent[] = null;
        $query = $this -> engine -> db -> query("SELECT * FROM groups WHERE disabled=0 ORDER BY ord ASC");
        
        while ($result = $this -> engine -> db -> fetchArray($query))
        {
            $this -> pageContent[$result['id']] = $result;
            
        }
    }


Ovaj koda izpise menije na siteju
Ja uporablam class. Malo modifikacije i mora da radi
Code:

<?php
         $data = $engine -> data -> pageContent;
         foreach ($data as $key => $value)
         {
             if ($value['title'] == null)
             {}
             else
             {
                 if ($value['group_id'] == 0)
                 {
                     
                     echo "
                     <tr>
                     <td>
                     <div class=\"menu\" onclick=\"location.href='?id=".$value['id']."&amp;gid=".$value['id']."'\">
                     &nbsp;
                     <a href=\"?id=".$value['id']."&amp;gid=".$value['id']."\">". $value['title'] ."</a><br />
                     </div>
                     </td>
                     </tr>
                     ";
                 }
                 foreach ($data as $key2 => $value2)
                 {
                     if ($value['id'] == $engine -> get(GET, 'gid'))
                     {
                         if ($value['id'] == $value2['group_id'])
                         {
                             echo "
                             <tr>
                             <td>
                             <div class=\"menuSub\" onmouseover=\"this.className='menuSubOnOver'\" onmouseout=\"this.classNam

e='menuSub'\" onclick=\"location.href='?id=".$value2['id']."&amp;gid=".$value['id']."'\">
                             &nbsp;&nbsp;&nbsp;-<a href=\"?id=".$value2['id']."&amp;gid=".$value['id']."\">". $value2['title'] ."</a>
                             </div>
                             </td>
                             </tr>
                             ";
                         }
                     }
                 }
             }
             
         }
?>


Slabo pricam hrvatsku zato se opravicujem :)
 
Odgovor na temu

[es] :: PHP :: kako da postavim navigaciju na sajt

[ Pregleda: 2351 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.