Avatar billede nph12 Nybegynder
23. januar 2007 - 22:19 Der er 32 kommentarer og
1 løsning

Hvordan laver jeg breadcrumbs og sitemap?

Hej
Hvordan laver jeg breadcrumbs og sitemap?

Hvordan skal strukturen på mit website se ud før jeg kan lave de to nævnte ting? Kan jeg bruge include og stadig lave breadcrumbs og sitemap?
Avatar billede windcape Praktikant
23. januar 2007 - 22:25 #1
i teorien ja, men bør nok gå efter at have en meget bedre systemstruktur end bare at bruge includes.

At bruge et template system, evt. kombineret med et MVC, gør det meget nemmere (og smartere)
Avatar billede nph12 Nybegynder
23. januar 2007 - 22:34 #2
Helt konkret, hvordan får jeg lavet breadcrumbs og sitemap?

Hvad mener du med et bedre systemstruktur? Hvordan laver jeg det? Hvad er MVC?

Jeg er lidt på bar bund på dette område, så please hjælp mig lidt i gang:-)
Avatar billede windcape Praktikant
23. januar 2007 - 23:09 #3
"Helt konkret, hvordan får jeg lavet breadcrumbs og sitemap?"
- Der er intet konkret svar. Det kan laves på 1000 forskellige måder, som alle afhænger af ens systemdesign.

"Hvad mener du med et bedre systemstruktur? Hvordan laver jeg det? Hvad er MVC? "
- Google, Læs og Lær
Avatar billede showsource Seniormester
23. januar 2007 - 23:17 #4
breadcrump ? Er det dir-struktur og så'n?

function navigation($opdel=" :: ") {

$path = explode("/", $_SERVER["PHP_SELF"]);
$dirs = count($path);
$home = "/";

echo "<div class=\"nav_menu\"><small>Navigation: <a href=\"". $home ."\">Forsiden</a>";

    for ($i = 1; $i < $dirs; $i++) {

        if(is_dir($_SERVER["DOCUMENT_ROOT"] . $home . $path[$i])) {
        $home = $home . $path[$i] ."/";
        echo $opdel ."<a href=\"". $home ."\">". $path[$i] ."</a>";

        }else{

            if(basename($_SERVER["PHP_SELF"]) != "index.php") {
            echo $opdel ."<a href=\"". $path[$i] ."\">". $path[$i] ."</a>";
            }

            if(!empty($_SERVER["QUERY_STRING"])) {
            echo " ? ". htmlentities(urldecode($_SERVER["QUERY_STRING"]));
            }

        }

    }

echo"</small></div>\r\n";

}

Den kan du lægge ned i så mange subdirs du vil, og den laver links til dirs.

sitemap?

Bruger selv flg.

http://www.phpbegynder.dk/sitemap.php

Altså ikke noget "fix/fax" med request!
Avatar billede showsource Seniormester
23. januar 2007 - 23:20 #5
Avatar billede showsource Seniormester
23. januar 2007 - 23:21 #6
Altså "sitemap"

En ting er at ha dirs, noget andet er at ha' info i DB ! ;O)
Avatar billede windcape Praktikant
23. januar 2007 - 23:27 #7
showsource:

Temmelig ubrugeligt sitemap.. F.eks. på min hjemmeside er det kun index.php som viser indhold. Resten er bare moduler.
Avatar billede windcape Praktikant
23. januar 2007 - 23:29 #8
awwww.. register globals.

altså.. hvorfor SKAL i absolut bruge usikker php kode fra det forrige århundrede, som ikke kan genbruges i moderne php ? Vi skriver 2007 ikke '99
Avatar billede windcape Praktikant
23. januar 2007 - 23:31 #9
Derudover ville SPL pynte ekstremt meget på koden.

www.php.net/SPL

RecursiveDirectoryIterator eller bare DirectoryIterator :-)
Avatar billede showsource Seniormester
24. januar 2007 - 07:57 #10
Som sagt, en ting er at ha' dirs, noget andet at ha' en DB ( eller en fil som includer! )

og windscape, hvad betyder dette?

"awwww.. register globals.

altså.. hvorfor SKAL i absolut bruge usikker php kode fra det forrige århundrede, som ikke kan genbruges i moderne php ? Vi skriver 2007 ikke '99"

???????????????????????????????

Er du 14 år eller hvad?

Og du må da gerne vise et eksempel på spl, som gør det samme med at liste dirs/filer
Avatar billede windcape Praktikant
24. januar 2007 - 09:03 #11
SPL eksempel:
http://www.dragons-lair.org/module/repository/dragons-lair.org/app/Models/GalleryModel.php
http://www.dragons-lair.org/module/repository/dragons-lair.org/app/Views/GalleryView.php#53

Og nej, jeg er 20 og phpbegynder.dk's kode er grim og fuld af fejl. Det er ikke beskreven hvor $source kommer fra, derfor logisk at antage det er et grimt forsøg på at bruge register_globals (selvom ved en nærlæsning ikke ser sådan ud alligevel).

Og koden er stadigvæk langt ude af trit med moderne php udvikling. Ville være rart om i andre udviklere gad vise lidt interesse for det sprog i koder i.
Avatar billede showsource Seniormester
24. januar 2007 - 09:12 #12
mderne => er med på hvad du mener. Men "go' gammeldags" kode er der nu heller ikke noget i vejen med. Afhænger jo af hvad det er man skal ha' frem.

Og sorry for mit spm. om alder, men det var måden du skrev på, "Jeg er go' og jeg ved bedst" der pissede mig lidt af. Sorry igen!

Og m.h.t. "sitemap" er jeg endnu ikke stødt på noget mere enkelt til at få listet dir/filer for et givent dir.

fejl i koden på phpbegynder? Det må du meget gerne fortælle noget mere om.

Og sorry for spam  i dette spm...........
Avatar billede windcape Praktikant
24. januar 2007 - 09:20 #13
Om SPL er mere "enkelt" er nok et spørgsmål om smag, men den pratiske betydning af hvordan det fungerer, og udvidelse mulighederne er meget smartere.

Det er altid spam at diskutere hvilken teknologi , og hvilken brug af den som er bedst. Det er kun til gavn for spørgeren. Han/hun kunne jo risikere at lære noget :-)

Nu skal jeg passe på hvad jeg kalder fejl, da det ikke er fejl som i "virker ikke" men som i "dårlig skik".

f.eks. benyttes der escaping af " men alligevel benyttes der concat til at samle text og variabler. Alt den escaping er grim, og gør koden sværer at læse. Det kan rettelse med bare at bruge ' '

Hvis man gerne vil have et linjeskift efter kan man enten appende ."\n" eller lave en konstant, f.eks. define("NL","\n"); og så appende .NL

Derudover er brugen af \r rimelig værdiløs, da der pratisk talt ikke er nogen editore tilbage som ikke bare bruger \n

\r var hovedsageligt til mac, men mac har ændret sig betydeligt.

"Jeg er go' og jeg ved bedst" , Jeg vil lade mig kode definere hvor god jeg er til PHP. Når det handler om hvad der er bedst taler jeg ud fra erfaring og meninger delt med mange andre profesionelle php udviklere.

Det kommer nemt til at lyde sådan, men det er nødvendigt at gøre det klart, hvor seriøst man mener hvad man siger engang imellem.
Avatar billede windcape Praktikant
24. januar 2007 - 09:23 #14
if($source !== false) { // VIS SOURCEKODE ???

    show_php_code(__FILE__);

}

kunne flyttes over i en funktion, som så også kalde die() , eller hvis det hele lå i et scope, return. Dermed ville koden være nemmere at læse, og mere simpel.

dvs. at ende med følgende istedet

<?php

checkSourceView();

.... andet kode

?>
Avatar billede windcape Praktikant
24. januar 2007 - 09:24 #15
derudover så er breadcrumbs bare et spørgsmål om at parse stien fra URL'en, og så rendere alt html til SIDST.

En general fejl, folk bruger includes, og derfor rendere html for tidligt :-) Derfor man bør benytte et template system. F.eks. Smarty

MVC + Smarty:
http://www.dragons-lair.org/module/repository/PHP/Smarty_MVC
Avatar billede showsource Seniormester
24. januar 2007 - 09:40 #16
Well, escape af " i stedet for at bruge ' er lidt en smagssag.
Om koden bliver sværere at gennemskue afhænger af den enkelte.
Der er dog snak om at et script afvikles hurtigere hvis der bruges ' og ikke \"

$source defineres i en fil som includes ved hver request

Og ja, jeg prøvede mig faktisk frem med at putte det i en funktion, at få vist koden for en given fil, men endte enten med "dobbeltkode" for at komme til afsluttende </body></html> eller at de slet ikke blev vist.

at definere \r\n i stedet, ville nok være brugbar!
Brugen af \r er for at gøre koden så brugbar som muligt, uanset system, og den skader jo ikke
Avatar billede windcape Praktikant
24. januar 2007 - 09:45 #17
"Der er dog snak om at et script afvikles hurtigere hvis der bruges ' og ikke \""
- Og det forbliver snak. Det er på et så lavt antal milisekunder at det aldrig vil have en betydning :-) Cachet php-templates er stadigvæk hurtigst.

Og jeg mener stadig at unødvendig escaping er en dårlig ide :) Men igen, så arbejder jeg slet ikke med systemer der ikke bruger template-løsninger i en eller anden for, så bekymre mig ikke om det mere.

MVC arkitektur ftw.
Avatar billede nph12 Nybegynder
24. januar 2007 - 12:23 #18
Der findes sikker 1000 måder, hvor på man kan lave sitemap og breadcrumbs, men hvilke 1-3 metoder vil I anbefale? I må gerne komme med konkrete eksempler:-)
Avatar billede windcape Praktikant
24. januar 2007 - 12:56 #19
Jeg laver min breadcrumb (som brugt i mit repository) her:

http://www.dragons-lair.org/module/repository/dragons-lair.org/app/Views/RepositoryView.php#72
ned til og med linje 79.

Den kan også flyttes til title hvis man synes :p

Til sitemap vil jeg anbefale du bruger et array, du selv laver :-)
Avatar billede nph12 Nybegynder
24. januar 2007 - 13:03 #20
Kan I anbefales nogen bøger, hvor der står beskrevet, hvordan man laver sitemap og breadcrumbs?
Avatar billede windcape Praktikant
24. januar 2007 - 13:06 #21
nej, men jeg vil anbefale at du lærer og forstår PHP meget bedre først :-)

Det er utrolig simpelt hvis man kan finde ud af PHP. Det er ikke en speciel kunst at designe hvad du beder om.

Dog er det extra nemt hvis man benytter DB generated content, eller har en form for router/mapper i sit (preferable) OO system.
Avatar billede nph12 Nybegynder
24. januar 2007 - 13:22 #22
Jeg ved godt, at jeg ikke har den store erfaring i at programmere i php.

Det er ikke alle som arbejder professional med at lave hjemmesider, og for dem er det måske lidt at lave det nævnte ting.

Jeg spørger, hvordan man laver sitemap og breadcrumbs, fordi jeg ikke ved, hvordan jeg laver det. Jeg skal "kun" bruge det til husbehov.

Der findes php bøger om, hvordan man laver alt andet end sitemap og breadcrumbs. Hvis man spørge lidt omkring, så får man at vide, at man kan lave det på 1000 måder, hvilket ikke hjælper så meget. Der er ikke rigtigt nogen, som vil ud med det, men skulle næsten tro, at det var en statshemmelighed.

I må give mig noget mere, hvis jeg skal kunne lave sitemap og breadcrumbs. Meget gerne eksempler, tak:-)
Avatar billede nph12 Nybegynder
24. januar 2007 - 18:35 #23
Sitemap og breadcrumbs er nogen gode emner til uddybende artikler her på eksperten. Jeg er helt sikker på, at disse artikler vil være meget velkommende.
Avatar billede windcape Praktikant
25. januar 2007 - 09:23 #24
Problemet er at du spørger efter noget du ikke ved hvad er, og derfor ikke ville kunne forstå svaret.

Du bliver nød til at svare på hvad jeg spurte efter i en af mine første posts. Nemlig hvordan din side struktur er bygget op. Hvis du ikke kan svare på dette, kan du på ingen måde forstå et evt. forslag i kode.

"Der er ikke rigtigt nogen, som vil ud med det, men skulle næsten tro, at det var en statshemmelighed."
- Nej, man kan bare ikke forklare noget det er så grundlæggende simpelt, og så specifikt designet til hver enkelt opsætning.

Og man kan ikke skrive en artikel omkring sitemaps og breadcrumbs, da koden bag kan (som sagt) laves på 100 forskellige måder.
Avatar billede nph12 Nybegynder
25. januar 2007 - 11:19 #25
OK. Så lad os tage fast i website strukturen, hvis den er den måde man griber det an på.

Jeg har tænkt mig at benytte 'kombinationsmodellen', som er beskrevet i bogen "Webdesign -illustreret håndbog" af Jørgen Farum Jensen, på side 353.

På det øverste niveau skal man fra alle sektioner linke til alle andre sektioner (den cykliske model også kaldet matrix modellen). Indenfor hver sektion anvendes en hierarkisk struktur.

Hvordan kommer jeg videre med sitemaps og breadcrumbs?
Avatar billede windcape Praktikant
25. januar 2007 - 11:26 #26
hvordan kalder du dine sider ?

domain.com/foo/bar/bas.php ?
eller domain.com?cat=foo&bar=bas.php ?
Avatar billede nph12 Nybegynder
25. januar 2007 - 11:32 #27
Lige nu kalder jeg dem sådan: domain.com?cat=foo&bar=bas.php

Jeg vil godt kalde dem på denne måde: domain.com/foo/bar/bas.php

Er det ikke noget man retter serveren (apache server)? Jeg har læst en artikel om, hvor man kunne ændre måden man kalder sine sider på, men kan ikke lige huske, hvor jeg har læst det.
Avatar billede windcape Praktikant
25. januar 2007 - 11:34 #28
jo, mod_rewrite, men det er underordnet.

Kan du ikke prøve at poste et par rigtige links, så jeg evt. kan skrive et eksempel? Fordi umidbart lyder det bare somom at du skal have en URL-parser for at lave breadcrumb.
Avatar billede nph12 Nybegynder
25. januar 2007 - 11:53 #29
Jeg skulle måske havde sagt, at det var den måde jeg har kaldt mine sider på før. Jeg slettede igår de sider, som jeg har siddet og leget med her på det sidst, så jeg har ikke nogen korekte links liggende.

Jeg vil godt have ordentlig styr på strukturen samt hvordan jeg laver sitemaps og breadcrumbs, så det er derfor jeg er startet forfra.
Avatar billede nph12 Nybegynder
26. januar 2007 - 15:42 #30
Jeg havde tænkt mig en hovedside, 3-4 sektioner med tilhørende x antal sider.
Avatar billede nph12 Nybegynder
28. januar 2007 - 20:22 #31
Hvad skal jeg helt præcis havde kendskab til før jeg kan lave sitemaps og breadcrumbs? Hvordan kommer jeg videre?
Avatar billede nph12 Nybegynder
30. januar 2007 - 12:17 #32
Nå, jeg dropper at lave sitemaps og breadcrumbs, da jeg ikke ved, hvordan jeg kommer videre.

Hvis der er nogen som har forslag til, hvordan jeg kommer videre, hører jeg gerne fra jer.
Avatar billede nph12 Nybegynder
31. januar 2007 - 09:24 #33
Så er det hvis lukketid!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester