09. december 2005 - 09:55Der er
7 kommentarer og 2 løsninger
Ny hjemmeside, hvad er den bedste opbygningsmetode
Hej Venner,
Jeg skal snart i gang med en hjemmeside med mange undersider & kategorier.. Indtil nu har jeg opbygget siderne med include file men problemet med det er at det hurtigt bliver uoverskueligt når der er mange undersider.. Det samme gælder selvfølgelig også for Admin-modul, hvor jeg indtil nu har oprettet fx en side til tilføj ny, en til rediger og en til slet.. Hvis man så har 20 sider som skal fungere i admin delen, ja, så bliver det hurtigt 60 sider vi har med at gøre og det synes jeg er for meget..
Jeg har før set eksempler på at man kunne bruge en kode der kan afvikle forskellige koder på samme side.. Altså; Hvis man klikker på Tilføj så afvikle kode1 -------Kode 1 start / Tilføj-------- bla bla bla
------- Kode 1 slut / Tilføj--------
Klik på Rediger, then Kode 2
------- Kode 2 start / Rediger------- bla bla ------- Kode 2 slut / Rediger------- osv....
Jeg vil høre jeres mening om hvordan i opbygger jeres hjemmesider... Med include file, den anden kode som jeg har beskrevet, eller noget helt andet? Og selvfølgelig hvorfor i bruger det og hvad fordelene er..
Jeg vil helt klart anbefale en database løsning, hvor HTML'en står heri. Du kan faktisk nøjes med en tabel i databasen med 4 kolonner:
webPage id, pID, title, body
Desuden har du kun EN asp side til visning. Dette er også kendt som et CMS.
Fordelen er at du har få filer at holde styr på. Der skal kun bruges en til visning af siden, samt et par stykker til admin. Desuden er det nemt at lave menuer, da databasen indeholder en oversigt af alle sider, og hvilken side der er parrent til en given side.
Hvordan man vil gøre tror jeg meget er et spørgsmål om smag og behag.
den første del du snakker om, altså mange inkluderede sider, er den jeg normalt bedst kan lide for på den måde kan jeg meget let finde en bestemt fil frem såfremt der er en fejl eller man skal lave en udviddelse/ændring. Dette er selvfølgelig afhængig af at man kan navngive sine filer korrekt.
Den anden del du beskriver - altså saml al kode i en enkelt fil - var noget jeg praktiserede da jeg startede med at programmere fordi det var lækkert med så få filer som muligt. Problemet er bare at man til sidst får samlet så meget kode i nogle enkelte filer at det til sidst ikke er overskueligt og så skal man bruge oceaner af tid på at gennemlæse ens egen kode.
Så måske er 60 filer meget - men med en korrekt navngivning for ikke at forglemme en korrekt mappestruktur er det super let at finde rundt i og man risikerer ikke at sammenblande variabler eller kode fordi man forsøger at samle det hele på meget få sider.
keyserzone, jeg tror nok at jeg ender med at bruge include file igen også sørge for at gøre det lidt mere overskueligt ved at navngive filerne ordentlig og selvfølgelig med et bedre mappe struktur.. Kan du måske skrive et eksempel på den anden type, altså det med at samle koden i et.. Det kunne jeg måske bruge i admin delen hvor jeg kunne samle tilføj, rediger & slet funktionen i en side..
fennec, kunne jeg måske også overtale dig til at komme med nogle eksempler på koden.. altså hvordan man linker når siden skal hentes fra db.. er det Request.Querystring der skal bruges?
If Request.Qeurystring("whattodo") = "UPDATE" Then 'do da update stuff Elseif Request.Qeurystring("whattodo") = "DELETE" Then 'do da delete stuff Elseif Request.Qeurystring("whattodo") = "CREATE" Then 'do da create stuff Else 'html-forms End If
Når jeg laver admin-sys har jeg som udgangspunkt 4 filer til alt ved ét område - fx "lav et produkt". En form-side til brug både ved create og update, en arbejdsside der håndterer data fra formsiden altså update og create, en listeside hvor jeg kan få min i dette tilfælde produkter vist og hvorfra jeg kan kalde edit, view og delete og den sidste side håndterer så slet. Denne struktur har 90% i admin - resten har 1-2 ekstra sider med ting lidt ud over det sædvanlige. Endelig samler jeg genbrugelige funktioner, som fx mail-udsendelse, i nogle helt andre include-filer som jeg så kan kalde og genbruge overalt.
[index.asp] <% if isnumeric(rq("id")) then ID = cint(rq("ID")) else ID = 1 '<--Forsidens ID %> <html> ... ... <table> <tr> <td> Menu<br> <% set rs = conn.execute("select * from webPage where pID=0") while not rs.eof response.write "<a href=""index.asp?id="& rs("id") &""">"& rs("title") &"</a><br>" rs.MoveNext wend %> </td> <td> <% set rs = conn.execute("select * from webPage where id="& ID) if not rs.eof then response.write rs("body") end if %> </td> </tr> </table>
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.