Toon posts:

Templates en CMS

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik begrijp iets niet, hopelijk kan ik hier opheldering krijgen. Stel je hebt een cms en er zijn voor pagina's drie verschillende templates. Voorbeelden zijn 1 plaatje bovenaan en dan twee tekstblokken, een tekstblok dan twee plaatje of alleen drie tekstblokken. Gebruiker kiest om nieuwe pagina te maken en kiest een template. Dan kan hij in gaan voeren.

Maak je dan drie verschillende cms pagina's voor het invullen van die ene pagina? Want ik zou niet weten hoe ik een generieke pagina kan maken, omdat de velden en volgorde elke keer anders zijn. Maar het voelt niet goed om drie cms pagina's te maken.

En dit geldt ook voor de database, hoe sla je de tekst en plaatjes op? Ik neem aan dat je niet drie tabellen maakt voor pagina's, de ene tabel heeft 1 veld voor de url van het plaatje en twee velden voor de tekstblokken en zo ook voor de andere twee templates andere tabellen. Dat lijkt mij omslachtig.

Ik zit nog helemaal in ontwerpfase, maar wil dit helder krijgen voor ik verder ga. Is dit generiek te maken, 1 tabel, 1 query, 1 invoerpagina?

  • Noork
  • Registratie: Juni 2001
  • Niet online
Klinkt allemaal erg vaag. De informatie die je op je site wil tonen is toch niet afhankelijk van het template. De achterliggende database e.d. is gewoon generiek.

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

De begruiker heeft dus de keuze:
a) 1 plaatje, 2 teksten
b) 2 plaatjes, 1 tekst
c) 0 plaatjes, 3 teksten

Heb er nog niet echt goed over gedacht, maar zo op het eerste gezicht zou ik het zo doen:

1 tabel:
id, txt1, txt2, txt3, img1, img2
En dan bij optie a blijven txt3 en img2 leeg.

1 query:
insert( '', 'text', 'text', 'text', 'img', 'img' )

3 invoermagina's
met de indeling zoals die op de uiteindelijke pagina op de website komt.

[ Voor 19% gewijzigd door OkkE op 21-09-2005 12:19 ]

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

OkkE schreef op woensdag 21 september 2005 @ 12:16:
De begruiker heeft dus de keuze:
a) 1 plaatje, 2 teksten
b) 2 plaatjes, 1 tekst
c) 0 plaatjes, 3 teksten

Heb er nog niet echt goed over gedacht, maar zo op het eerste gezicht zou ik het zo doen:

1 tabel:
id, txt1, txt2, txt3, img1, img2
En dan bij optie a blijven txt3 en img2 leeg.

1 query:
insert( '', 'text', 'text', 'text', 'img', 'img' )

3 invoermagina's
met de indeling zoals die op de uiteindelijke pagina op de website komt.
Lijkt me geen goed idee. Normaliseren is niet voor niets uitgevonden. ;) Ik ken helaas CMSsen die dergelijke DB-structuren hebben. :X

Het lijkt mij handig dat de topicstarter zich eerst eens een beetje gaat inlezen in de CMS-topics die hier op GoT al geweest zijn, dan over ContentTypes, het abstraheren ervan en de ontwikkeling van CMSsen en alles wat daar bij hoort. ;)

Sundown Circus


  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

Eens.

Ik ben zelf ook zeker geen voorstander van zulke database-structuren. Het is ook totaal niet handig met het oog op uitbreiden. Maar het is wel een simpele manier die best aardig werkt.

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • PowerFlower
  • Registratie: Juni 2001
  • Laatst online: 29-04 15:06

PowerFlower

être diable et jouer fleur

RedRose schreef op woensdag 21 september 2005 @ 12:25:
[...]
Ik ken helaas CMSsen die dergelijke DB-structuren hebben. :X
ROFL
Sm... Sma... Smrt... :X

Verwijderd

Topicstarter
RedRose schreef op woensdag 21 september 2005 @ 12:25:
Het lijkt mij handig dat de topicstarter zich eerst eens een beetje gaat inlezen in de CMS-topics die hier op GoT al geweest zijn, dan over ContentTypes, het abstraheren ervan en de ontwikkeling van CMSsen en alles wat daar bij hoort. ;)
Kun je iets specifieker zijn, ik probeer iets te vinden hierover, maar das lastig. Is er een naam of term voor wat ik bedoel waarmee ik beter kan zoeken?

bedankt!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Clique!

Clique!

Bijvoorbeeld een linkje uit google: Clique!

edit:
Bosmonster: :P Thats only half of it ;)

[ Voor 10% gewijzigd door RedRose op 21-09-2005 13:12 ]

Sundown Circus


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 22-04 22:07

Bosmonster

*zucht*

Als je het nu uit gaat tekenen en erachter komt dat een pagina (of template) dus meerdere contentvelden kan hebben, ben je al een heel eind ;)

[ Voor 6% gewijzigd door Bosmonster op 21-09-2005 13:11 ]


Verwijderd

Topicstarter
Bedankt voor de tips, vooral http://philip.greenspun.com/seia/content-management en [rml][ cms/php] cms db opzet[/rml] waren erg interessant.

Ik heb een beetje huiswerk gedaan:

http://home.planet.nl/~oost1957/CMS.gif

Daar is een ERD, het draait nu dan dus vooral om de pagina's en de zgn. files en fragments die eraan gekoppeld kunnen worden. Files zijn afbeeldingen, flash of andere elementen, fragmenten zijn stukken tekst (eventueel met html-tags). De sequence kolom geeft aan in welke volgorde deze elementen geplaatst gaan worden.

Als ik nu in het CMS het zo opzet: voor elke pagina een generieke 'add fragment' en 'add file' invoerpagina, dan maakt de template niet meer uit. Immers teveel elementen, en je ziet de overige niet, te weinig en je template krijgt lege plekken. Pagina's bewerken wordt wel wat omslachtig, meer handelingen.

Templates toevoegen zou nu theoretisch mogelijk zijn door een template bestand te schrijven en via het cms toe te voegen, dan kun je vanaf dat moment die template selecteren en moeten de fragmeten en bestanden weer 'instromen'.

Ik zeg met nadruk theoretisch, want ik heb echt nog niks praktisch. Heb ik het nu een beetje begrepen, of krijg ik in een latere fase spijt van dit ontwerp?

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 02-01 15:55
Waarom gebruik je niet een bestaand CMS? Er zijn genoeg (open source) CMSen. Met behulp van templates kun je het uiterlijk van je website zo naar eigen smaak aanpassen.
Een goed CMS maken is niet eenvoudig en kost veel tijd, denk daaraan als je er eenmaal mee begint. Ik gebruik zelf PHPWCMS, dit is een relatief eenvoudig CMS maar biedt toch een hoop functionaliteiten op een eenvoudige wijze.

If I can't fix it, it ain't broken.


  • PowerFlower
  • Registratie: Juni 2001
  • Laatst online: 29-04 15:06

PowerFlower

être diable et jouer fleur

Nofi, maar je bent wel opnieuw het wiel aan het uitvinden. Er zijn inmiddels (volgens CM Pros) al minstens 1800 verschillende CMS. Misschien is het handig om er eerst een paar uit te proberen, te kijken wat je goed of slecht vindt, ze wat aan te passen, en dan pas zelf iets te gaan maken?

  • MisterData
  • Registratie: September 2001
  • Laatst online: 09-04 12:07
Ik doe het zelf met XSLT als template engine. Ik kan gemakkelijk drie templates maken die de pagina compleet anders laten zien. De pagina zelf staat maar éen keer in de database en bestaat uit 'custom tags', die de template dan omzet naar layout:

XML:
1
2
3
4
5
6
7
<header>Mijn Pagina</header>

<grootplaatje>plaatje.png</grootplaatje>
<kleinplaatje>plaatje2.png</kleinplaatje>


<p>....</p>


De template kiest daar dus uit wat hij wil laten zien en zet dat om naar (X)HTML :) werkt als een tierelier, XSLT is een wat moeilijker, maar als je het goed kent veel krachtiger template-systeem dan elke andere oplossing in PHP die ik heb geprobeerd (onder andere een zelfgeschreven stackbased parser).

Verwijderd

Topicstarter
Om de vraag 'waarom ontwikkel je je eigen cms?' te beantwoorden: Daarom. Beetje flauw, maar ik bedoel alleen maar, omdat ik dat leuk vindt, omdat ik denk dat ik daar veel van leer, omdat ik inzichten wil in die processen, omdat ik een studie volg waarvoor dit relevant is, omdat ik misschien wel iets moois maak waar ik geld mee verdien, of waar ik mensen blij mee kan maken door het te open-sourcen, enz enz enz. Ik ben toch zeker niet de enige die dit doet?

Wel ben ik vrij onervaren met cms maken, en onzeker over de gevolgen van mijn keuzes, daarom dat ik mijn vraag hier stel.

  • PowerFlower
  • Registratie: Juni 2001
  • Laatst online: 29-04 15:06

PowerFlower

être diable et jouer fleur

Ik begrijp dat je dat doet voor de ervaring, maar dan nog zou ik eerst eens uitvoerig naar andere systemen kijken en hoe die e.e.a. opgelost hebben ;)

XSLT is btw erg mooi voor templating. The wave of the future, imho ;)

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 02-01 15:55
Probeer dan eens wat CMSen uit en bekijk hoe verschillende CMSen werken (technisch). Door de CMSen met elkaar te vergelijken en uit te proberen krijg je inzicht in de huidige mogelijkheden en beperkingen. Op die manier kun jij voor je eigen een lijstje maken met verbeteringen t.o.v. de huidige CMSen en functionaliteiten die je mist in je eigen CMS inbouwen.

Op http://www.opensourcecms.com/ zijn veel opensource CMSen te vinden, deze kun je via de website ook zo uitproberen zonder dat je ze zelf hoeft te installeren. Het voordel van open source is dat je kan kijken hoe deze CMSen in elkaar zitten :).

If I can't fix it, it ain't broken.


  • MisterData
  • Registratie: September 2001
  • Laatst online: 09-04 12:07
Borizz schreef op woensdag 21 september 2005 @ 18:31:
Probeer dan eens wat CMSen uit en bekijk hoe verschillende CMSen werken (technisch). Door de CMSen met elkaar te vergelijken en uit te proberen krijg je inzicht in de huidige mogelijkheden en beperkingen. Op die manier kun jij voor je eigen een lijstje maken met verbeteringen t.o.v. de huidige CMSen en functionaliteiten die je mist in je eigen CMS inbouwen.

Op http://www.opensourcecms.com/ zijn veel opensource CMSen te vinden, deze kun je via de website ook zo uitproberen zonder dat je ze zelf hoeft te installeren. Het voordel van open source is dat je kan kijken hoe deze CMSen in elkaar zitten :).
Over het algemeen zijn de open-source CMS'en vrij ingewikkeld om mee te beginnen; ze hebben vaak allerlei spul dat voor een beginner alleen maar 'in de weg' zit: database abstraction classes zodat het niet meteen duidelijk is welke queries gebruikt worden, een systeem om de taal in een CMS aan te passen, etc :)
Pagina: 1