Avatar billede doncarnage Nybegynder
08. november 2008 - 16:17 Der er 25 kommentarer og
1 løsning

Videreudvikling af min CMS ide..

Goddag...

Jeg bør måske starte med at sige at jeg er nybegynder indenfor php sproget, men at jeg prøver at lege lidt med at få lavet mit eget, simple cms system.. Jeg er godt igang, men søger tips/tricks til hvordan jeg skal komme videre med det..

Indtil videre har jeg fået lavet en side, hvor man kan logge ind og oprette en ny side, der så bliver smidt ind i menuen.. Denne side kan man så ligeledes rette eller slette når man er logget ind.. Siderne bliver hentet fra en simpel tabel med "id, overskrift og tekst"..

Siden kan prøves af her:
http://www.valuable.dk/cms/index.php

Nu er mit spørgsmål så hvordan jeg tager skridtet videre og udbygger systemet.. Er tankegangen helt hen i vejret med måden jeg har lavet det på so far?

Hvis man fx skulle implementere et nyhedssystem i menuen.. Hvordan ville det så skulle ske? Jeg har fx et nyhedssystem liggende ved siden af som fungerer som det skal.. Men hvordan dælen skal det så blive implementeret i menuen, når den henter siderne ud fra deres id og ligeledes retter på den måde..

Jeg har en ide om at man skulle oprette en ny tabel til nyhedssystemet og så placerer det ovenover min nuværende menu. Når man så logger ind vil man bare ikke have mulighed for at redigere i nyhedssystemet på samme måde som den nuværende menu, men blot mulighed for at slette og oprette nyheder? Lyder det helt hen i vejret?
Avatar billede w13 Novice
08. november 2008 - 16:23 #1
De fleste CMS-systemer bygger på, at der er sider og moduler.

Side-delen er den, du har nu.

Modul-delen er f.eks. ting som dit nyhedssystem, og hvis du senere fik lyst til at tilføje blog/gæstebog/chat/galleri osv.

Så modulerne må have hver deres tabel, som du selv foreslår.

Din menu-tabel i databasen skal udbygges, så den både kan indeholde sider samt links til modulernes sider.
Avatar billede w13 Novice
08. november 2008 - 16:27 #2
Men ellers tror jeg da, du er på rette spor.
Avatar billede doncarnage Nybegynder
08. november 2008 - 16:29 #3
Jeps okay, det er også lidt det jeg var ude i..

Men har så bare ingen anelse om hvordan menu-tabellen skal udbygges så den både kan indeholde sider og links til modulernes sider, samt hvordan admin siderne så skulle se ud :|
Avatar billede w13 Novice
08. november 2008 - 16:32 #4
Hvordan ser din menu-table ud nu?

Din adminside laver du bare, så man kan vælge om man vil redigere sider eller redigere et af modulerne.
Avatar billede w13 Novice
08. november 2008 - 16:33 #5
Eksempel på adminmenu:

Opret side
Rediger side
Slet side

Opret nyhed
Rediger nyhed
Slet nyhed

Opret blog
Rediger blog
Slet blog

Eller evt. bare:

Side
Nyhed
Blog

Hvor man så får valget mellem Opret, Rediger og Slet, når man klikker sig ind på en.
Avatar billede w13 Novice
08. november 2008 - 16:37 #6
Menu-tabellen kunne se således ud:

id, navn, type, link

En side kunne så være:

"1", "Forside", "page", ""

Og et modul kunne f.eks. være:

"2", "Nyheder", "modul", "/news"

Sådan at du angiver under type, om det er en side eller et modul, og hvis det er et modul, så angiver du linket til det under link.
Avatar billede doncarnage Nybegynder
08. november 2008 - 16:39 #7
Har du prøvet at logge ind? Der har man mulighed for det øverste som du skriver.. At oprette en side ude i højre side, og ude i venstre side ved menuerne er der ikoner til at redigere og/eller slette en af siderne..

Menu tabelen består blot af: id, overskrift og tekst

Det store spørgsmål er nok bare hvordan man får tilføjet den ekstra feature i menu tabellen, der gør det muligt at linke direkte til et modul fremfor en side (id)
Avatar billede doncarnage Nybegynder
08. november 2008 - 16:44 #8
Hmm ja okay.. Du kan vel ikke give mig nogle hints til hvordan det skal laves, hvis jeg smider koden herinde ?
Avatar billede w13 Novice
08. november 2008 - 16:45 #9
Har du en tabel til siderne eller ligger det i "tekst" i menu-tabellen?

Du bør i øvrigt nok lave en Confirm-boks, når man vil slette en side. Jeg har f.eks. lige slettet en, fordi jeg skulle teste det. =)
Avatar billede w13 Novice
08. november 2008 - 16:46 #10
Det vil nok være nemmere, at du spørger om de ting, du er i tvivl om, da jeg har for lidt tid til at sætte mig ind i koder lige nu. =)
Avatar billede doncarnage Nybegynder
08. november 2008 - 16:52 #11
Har ikke en tabel til siderne nej.. Det ligger blot i tekst i menu-tabellen som du selv skriver :/ Det var den eneste måde jeg lige kunne finde ud af at få det lavet på..

Jeps, skal uden tvivl ha lavet en confirm boks - har jeg bare ikke lige fået taget mig sammen til endnu ;)

Jo okay.. Jeg prøver mig lidt frem og så vender jeg lige tilbage
Avatar billede w13 Novice
08. november 2008 - 16:53 #12
Jeg tror, du vil kunne arbejde meget bedre med det, hvis du laver en tabel til siderne ligesom du laver tabeller til dine moduler.

I stedet for at have sidens indhold liggende i "menu" skal du bare have sidens id liggende, evt. under "link", så du ved, hvilket indhold menupunktet er knyttet til.
Avatar billede w13 Novice
08. november 2008 - 16:54 #13
Og du vil også på den måde lettere kunne overskue, hvordan du skal opbygge dine moduler.
Avatar billede doncarnage Nybegynder
08. november 2008 - 17:14 #14
Skal der så laves en tabel til hver side? Og hvad skal den indeholde og hvad skal min nuværende tabel (id, overskrift, tekst) så indeholde?

Er fuldstændig sat af nu desværre :/
Avatar billede w13 Novice
08. november 2008 - 17:45 #15
Jeg ville gøre det så ledes i databasen:

pages:
id, overskrift, indhold

nyheder:
id, overskrift, indhold, dato

menu:
id, type, ref

Når der er tale om en side fra pages-tabellen, bruger du ref-feltet til sidens id.
Når der er tale om nyheder, bruger du ref-feltet til "/news", hvis "/news" altså er referencen til nyhedssiden.
Avatar billede w13 Novice
08. november 2008 - 17:46 #16
Så dine sider ligger i "pages", dine nyheder ligger i "nyheder".
Og i "menu" har du så referencer til dine sider, vha. deres id'er.
Og moduler såsom nyheder refererer du så bare til med link.
Avatar billede w13 Novice
08. november 2008 - 17:47 #17
Menu-tabellen skal i øvrigt nok være sådan her:

id, navn, type, ref

Så "navn" kan indeholde "Nyheder", når der er tale om nyhedsmodulet. På den måde kan du vise i menuen, hvad modulet hedder.
Avatar billede jensgram Nybegynder
08. november 2008 - 17:59 #18
Ang. konfirmation af sidesletning, så bør I læse http://www.alistapart.com/articles/neveruseawarning . Det er ret interessant - og slet at implementere i denne sammenhæng, da du bare i din pages-tabel kan have et "deleted"-felt.

Noget andet er:
Du kunne evt. afprøve diverse større CMS'er for at se, hvordan de har grebet tingene an. Det kunne jo være, at man stødte på snedigheder (samt identificerer løsninger, der IKKE er at foretrække) ved at se på Drupal, Joomla, TYPO3 osv.
Avatar billede jensgram Nybegynder
08. november 2008 - 17:59 #19
slet = let even :)
Avatar billede w13 Novice
08. november 2008 - 18:12 #20
Ja, den artikel har jeg også bogmærket. :) Den forklarer meget godt problematikken.

Personligt foretrækker jeg både confirm og undo-funktion, når det drejer sig om sletning, da man ifølge min erfaring ellers skal klikke undo hele tiden. =)

Så et deleted-felt i databasen er en rigtig god idé.
Avatar billede doncarnage Nybegynder
08. november 2008 - 19:14 #21
Mht sletningen og det vil jeg vente med det til at jeg får styr på det andet her.. Men mange tak for linket jensgram.. Vil kigge nærmere på det til den tid ;)

Til w13:

Så har jeg jo faktisk allerede pages tabellen klar idet det er den tabel jeg anvender nu, hvis jeg har forstået dig ret.. Så er det vidst menu tabellen jeg skal ha lavet.. Skal "ref" i menu tabellen så være fremmednøgle til "id" i pages tabellen for at den kan hente information derfra?
Avatar billede w13 Novice
08. november 2008 - 19:22 #22
Ja, det ville nok ikke være helt dumt. Men det behøves vist ikke.
Avatar billede doncarnage Nybegynder
08. november 2008 - 20:00 #23
Hmm okay :s

Du kunne vel ikke komme med et foreslag/skitse til hvordan man skulle bygge den side op så med menue når du får tid? For er godt nok helt på vildspor..

Hvis ikke må du lige smide et svar for du skal nok få dine points ;)
Avatar billede w13 Novice
09. november 2008 - 13:14 #24
Her er et svar. =)

Jeg er ikke så sikker på, hvad skitsen/foreslaget skulle være? Er det til selve kodningen eller hvad? For databasestrukturen står jo i 08/11-2008 17:45:15.
Avatar billede doncarnage Nybegynder
09. november 2008 - 14:17 #25
Jeps, det var til kodningen :/ Kan nemlig slet ikke se hvordan det hele skal hænge sammen desværre
Avatar billede w13 Novice
09. november 2008 - 14:38 #26
Hmm, nej ikke helt konkret, tror jeg. Så må du nok spørge ind til noget specifikt i hvert fald.
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