Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Vraag over website opbouw

Pagina: 1
Acties:
  • 208 views sinds 30-01-2008
  • Reageer

  • danielkraak
  • Registratie: Juli 2006
  • Laatst online: 08-11 08:55
Ik ben nu al lange tijd bezig met een website, waarop onder andere een nieuwssysteem zit. Nu moet ik gewoon alles in de database invullen en leest hij dat naar een pagina. Als ik nu bijvoorbeeld plaatjes in een nieuwsbericht wil zetten, dan moet ik deze plaatjes weer uploaden en vervolgens de html tags in het stukje nieuws dat naar de database gaat intypen. Daarnaast komen er bijvoorbeeld ook pagina's van spellen op. Het is een beetje vergelijkbaar met: http://www.gamersnet.nl. Daarnaast concentreert de site zich ook nog op hardware. Daarvoor komen dus ook andere pagina's.

Het probleem is dat ik nu elke keer pagina's zelf aanmaak en dat het hierdoor heel onoverzichtelijk wordt en uiteindelijk als de site groot is, zal het niet meer te overzien zijn. Ik zet alle pagina's nu nog wel in de main directory, waar ook de index staat. Dit komt omdat include niet werkt als ik bijvoorbeeld de games in de map games zet, omdat het dan de plaatjes van de header en footer niet laadt.

Nu is het mij opgevallen dat bij tweakers.net zelf en bij gamersnet.nl en nog veel meer sites het wel mooi overzichtelijk in mappen staat, omdat ik weleens in de url kijk. Nu is mijn vraag hoe zo'n systeem werkt en hoe de informatie die op de pagina's staat ingelezen wordt. Bij het nieuws bij tweakers staan ook html pagina's, hoe kan dan het vaste deel (header en footer) van de pagina ingeladen worden?

Daarnaast wil ik het liefst ook een systeem waarmee ik zelf pagina's aan kan maken. Hierbij stuitte ik op een rtfeditor. Zijn er ook nog alternatieven?

Ik hoop dat mijn vraag geen argwaan opwekt. ;)

Alvast bedankt.

  • mithras
  • Registratie: Maart 2003
  • Niet online
Je hebt het zowel over een database, als over losse html bestanden; wat staat waar en hoe werk je ermee?

Over het algemeen heb je voor een grote site (en die regelmatig updates behoeft) een cms nodig, of op zn minst een beheersysteem. Er zijn genoeg (open-source) cms'en te vinden, dus zoek daar eens naar (met de search of met Google) :)

  • Flapp
  • Registratie: December 2004
  • Laatst online: 20-05-2024
Op het internet heb je daar script voor genaamd een CMS , ook wel Content Management System.

Die maken het erg makkelijk op een site te maken met Pagina's enzo.

Een aantal voorbeelden van veelgebruikte cmssen

Drupal
Mambo
Joomla

offtopic:
Alweer spuit 11

[ Voor 8% gewijzigd door Flapp op 31-07-2007 18:59 ]

"Stilte, een gat in het geluid...."


  • japaveh
  • Registratie: Maart 2003
  • Nu online

japaveh

Jield BV

De systemen die je omschrijft, dus de sites als tweakers.net of gamersnet.nl maar ook nu.nl zijn allemaal dynamisch. Bijna alle content wordt uit de database gehaald. De URL lijkt wel op een mappenstructuur maar inwendig is dat niet zo.

Neem bijvoorbeeld de url
code:
1
http://life.tweakers.net/nieuws/48661/Consoles-bepalen-de-pc-games-markt.html

Dit lijkt een unieke HTML pagina, maar in werkelijkheid is dat niet zo. Je moet de URL eigenlijk zo interpreteren, dat uit de database het nieuwsitem met id = 48661 wordt gehaald. De titel wordt er achter gezet met - ipv de spaties en de URL eindigt op .html. Dit is fake en gedaan omdat het goed en verzorgd staat, maar ook omdat zoekmachines dit erg prettig vinden. De tekst achter het id mag je gerust veranderen. Bijvoorbeeld de URL
code:
1
http://life.tweakers.net/nieuws/48661/Ik-vind-deze-tekst-leuker.html

werkt ook.

Het codewoord hier is dynamische website en dat kan bijvoorbeeld met een scripting-taal als PHP in combinatie met mysql gedaan worden.

Hopelijk heb je hier iets aan.

Solo Database: Online electronic logbook and database system for research applications


  • Muthas
  • Registratie: December 2005
  • Niet online

Muthas

O+

Klopt,
code:
1
http://life.tweakers.net/nieuws/48661/Consoles-bepalen-de-pc-games-markt.html

is waarschijnlijk eigenlijk iets als
code:
1
http://tweakers.net/life/index.php?a=nieuws&id=48661

of iets in die richting :)

Voor dit veranderen van urls moet je is [google=mod url rewrite]

[ Voor 12% gewijzigd door Muthas op 31-07-2007 19:08 ]


  • _Apache_
  • Registratie: Juni 2007
  • Laatst online: 14:11

_Apache_

For life.

Flapietoetoe schreef op dinsdag 31 juli 2007 @ 18:58:
Op het internet heb je daar script voor genaamd een CMS , ook wel Content Management System.

Die maken het erg makkelijk op een site te maken met Pagina's enzo.

Een aantal voorbeelden van veelgebruikte cmssen

Drupal
Mambo
Joomla

offtopic:
Alweer spuit 11
Mocht je je wensen niet kunnen bevredigen met deze systemen kun je natuurlijk naar alle vrijheid zelf aan de slag gaan en een CMS bouwen.. Vergt wat meer kennis, tijd en bronnen maar is helemaal naar jouw eigen wensen gebouwd.

Zero SR/S 17.3kWh / 2.7 kWP PV / Xtend WP 5kW + HRSolar zonneboiler


  • danielkraak
  • Registratie: Juli 2006
  • Laatst online: 08-11 08:55
Oke, sorry maar i.v.m. eten heb ik de startpost een beetje te snel gedaan en was ik vergeten neer te zetten dat ik php onder de knie heb.

Maar als ik het goed begrijp wordt er bij zo'n "netjes geordende url" ook gewoon alles (met soms wat uitzonderingen) uit de database gehaald?

Heeft iemand misschien een aanbeveling voor een goede CMS? Ik wil er graag foto's mee kunnen uploaden en in bijvoorbeeld een nieuwsbericht kunnen plaatsen. Is het aanbevolen om het nieuwsbericht gewoon in een database te plaatsen?

Heeft er iemand nog een oplossing op het include probleem dat ik in de startpost vermeld?

[ Voor 8% gewijzigd door danielkraak op 31-07-2007 19:23 ]


  • _Apache_
  • Registratie: Juni 2007
  • Laatst online: 14:11

_Apache_

For life.

danielkraak schreef op dinsdag 31 juli 2007 @ 19:19:
Oke, sorry maar i.v.m. eten heb ik de startpost een beetje te snel gedaan en was ik vergeten neer te zetten dat ik php onder de knie heb.

Maar als ik het goed begrijp wordt er bij zo'n "netjes geordende url" ook gewoon alles (met soms wat uitzonderingen) uit de database gehaald?

Heeft iemand misschien een aanbeveling voor een goede CMS? Ik wil er graag foto's mee kunnen uploaden en in bijvoorbeeld een nieuwsbericht kunnen plaatsen. Is het aanbevolen om het nieuwsbericht gewoon in een database te plaatsen?
Ja, een URL word 'hervormd' naar eigen wens.

Even er vanuit gaande dat het om veel foto's gaat.. Nee, plaats een referentie in de db en de afbeelding zelf gewoon op het filesystem in je webserver. Dit houd je DB sneller.

Zelf bouw ik mijn CMS' zelf, omdat ik geen 'off-the-shelf' CMS voor mijn taken kan vinden, plus dat je hier natuurlijk veel meer van leert.. ;)

Zero SR/S 17.3kWh / 2.7 kWP PV / Xtend WP 5kW + HRSolar zonneboiler


  • danielkraak
  • Registratie: Juli 2006
  • Laatst online: 08-11 08:55
_Apache_ schreef op dinsdag 31 juli 2007 @ 19:24:
[...]

Ja, een URL word 'hervormd' naar eigen wens.

Even er vanuit gaande dat het om veel foto's gaat.. Nee, plaats een referentie in de db en de afbeelding zelf gewoon op het filesystem in je webserver. Dit houd je DB sneller.

Zelf bouw ik mijn CMS' zelf, omdat ik geen 'off-the-shelf' CMS voor mijn taken kan vinden, plus dat je hier natuurlijk veel meer van leert.. ;)
Jammergenoeg heb ik daar niet genoeg tijd voor. :P

Is het het handigst dat ik de foto's zelf eerst even in een map zet, of zijn er ook manieren waarop je via de browser de foto's gewoon makkelijk even kunt uploaden?

  • Sv3n
  • Registratie: Mei 2002
  • Laatst online: 14:08
danielkraak schreef op dinsdag 31 juli 2007 @ 19:27:
[...]

Jammergenoeg heb ik daar niet genoeg tijd voor. :P

Is het het handigst dat ik de foto's zelf eerst even in een map zet, of zijn er ook manieren waarop je via de browser de foto's gewoon makkelijk even kunt uploaden?
Als je php onder de knie hebt moet je dat toch weten ? maargoed ja dat kan gemakkelijk. Ik zou als ik jou was gewoon eens een cms downloaden en er een beetje mee gaan spelen, ik denk dat ze allemaal genoeg mogelijkheden voor je bieden

Last.fm
Films!


  • danielkraak
  • Registratie: Juli 2006
  • Laatst online: 08-11 08:55
Iemand nog een idee voor het probleem dat ik krijg als ik include. Om het maar even uit te leggen: Ik wil een pagina in een map zetten en daarin de header en foot includen die een map daarvoor staan, maar dan krijg ik de plaatjes niet te zien. Het probleem snap ik, maar wat kan ik eraan doen?

  • Muthas
  • Registratie: December 2005
  • Niet online

Muthas

O+

Eh, in plaats van image.png -> http://ik.nl/header/footer/image.png opgeven?

  • Sv3n
  • Registratie: Mei 2002
  • Laatst online: 14:08
jah of beter ../image.png :)

Geef eens een stukje voorbeeld code, je mappen structuur en vertel eens wat je probeert te bereiken dat zou het allemaal een stuk duidelijker maken

[ Voor 25% gewijzigd door Sv3n op 31-07-2007 20:37 ]

Last.fm
Films!


  • danielkraak
  • Registratie: Juli 2006
  • Laatst online: 08-11 08:55
Ik draai mijn eigen server, wordt het dan localhost in plaats van dat eerste?

Het gaat hier trouwens over de foto's van de header en footer en die moeten dus in verschillende gevallen correct zijn.

[ Voor 18% gewijzigd door danielkraak op 31-07-2007 20:35 ]


  • imp4ct
  • Registratie: November 2003
  • Laatst online: 29-10 10:59
Zoals hierboven al vermeld staat staan de post dus niet in apart .html files, want als je gewoon iets anders .html invuld in de url, dan kom je nog bij de juiste post uit. Dit noemt men 'Permalinks'.

Nu als je weet hoe je met PHP moet werken en een database, dan vind ik het persoonlijk raar dat je telkens .html files apart aanmaakt en niet alles laat genereren vanuit de database.

Nu als je ook met zo termalinks wilt werken, 'k heb een goed .htaccess script.

code:
1
2
3
4
5
6
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*) index.php?url=$1 [L,QSA]


Deze .htaccess staat in de root dir en ik lees hem telkens uit in m'n index.php

En dat doe ik via php
PHP:
1
2
3
4
5
6
$url_array = explode('/', $_GET['url']);

//Voorbeeld van het uitlezen
//http://www.yourwebsite.be/news/2/dit-is-een-test.html
//$url_array[0] heeft als waarde 'news'
//$url_array[1] heeft als waarde '2'


Op deze manier kan je dus alles makkelijk uitlezen als je zin hebt.

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


  • Johnny
  • Registratie: December 2001
  • Laatst online: 13:48

Johnny

ondergewaardeerde internetguru

Dat het relatieve pad naar bijvoorbeeld afbeeldingen niet meer klopt wanneer je pagina's in mapjes zet kun je oplossen door een base-tag in de head van iedere pagina te zetten.

HTML:
1
<base href="http://example.com/">

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
absolute urls doen wonderen: /link/naar/whatever/png.png

  • jvanderkroon
  • Registratie: Juni 2006
  • Laatst online: 14:01
oops heb je ook een delete button comment niet meer nuttig

[ Voor 198% gewijzigd door jvanderkroon op 31-07-2007 22:20 ]

LG-HM051MR-U44 | Daalderop DUO 50l | 1500 WP Zuid | gasloos '23


Verwijderd

zeer basic uitgelegd:

je hebt een index.php
daarin definieer je je layout

code:
1
2
3
4
5
6
7
8
<title>
<body>
<kinky navigatie>

CONTENT

<andere brol>
<footer>


Je urls fake je (staat hierboven uitgelegd)
/nieuws/1234/musti-doet-den-uitleg.html is eigenlijk /index.php?module=news&database-id=1234

op basis van die database-id doe je een query in je database

je doet allemaal fancy stuff om je inhoud proper te krijgen
en vervangt je CONTENT door je fancy stuff

je werkt dus eigenlijk alleen maar met je index en op basis van je url roep je de juiste modules en content op

edit:

hoort dit eigenlijk niet thuis in programming?

[ Voor 4% gewijzigd door Verwijderd op 01-08-2007 00:22 . Reden: vraagje ]


Verwijderd

De manier die musti hierboven geeft is denk ik de werkwijze die de meeste beginnende (dynamische-)websitebouwers gebruiken. Probleem hierbij is natuurlijk dat die index.php op de duur zodanig complex kan worden, hoewel je uiteraard per type pagina weer een ander stuk code kunt includen uit andere files etc. Voor de ene zorgt dit voor meer duidelijkheid, voor de andere wordt het een nog grotere warboel. :)

In Asp.Net is er een heel eenvoudige oplossing voor hetzelfde probleem, nl masterpages. Het concept houdt in dat je eerst een masterpage maakt, een soort 'frame' voor de hele pagina. Deze bevat doorgaans nagenoeg je hele layout (opbouw), header, navigatie, footer etc. In die masterpage creëer je dan een bepaald gebied (een ContentPlaceHolder), dat later ingevuld wordt door de specifieke, aparte pagina's. In die aparte pagina's steek je je content (al dan niet uit databases getrokken, helemaal zoals je wil) en verwijs je naar de bijhorende masterpage. Voor meer duidelijkheid omtrent het concept raadpleeg je best eens Google, of bekijk dit eens: http://quickstarts.asp.net/QuickStartv20/aspnet/doc/masterpages/default.aspx
Eigenlijk is het totaal niet moeilijk, 't is gewoon even anders ;)

Het leuke is nu dat PHP ook beschikt over een soort masterpages, weliswaar iets minder ingebouwd, je zal er een klein beetje meer moeite voor moeten doen, maar erg ingewikkeld wordt het niet. Eerste hit op Google is al meteen raak: http://spinningtheweb.blogspot.com/2006/07/approximating-master-pages-in-php.html

Url's fake je uiteraard naar believen, dat blijft helemaal gelijk :)

Verwijderd

Het was inderdaad zeer basic uitgelegd.
Met MVC-pattern, modules en smarty geraak je heel ver op een heel onverzichtelijke manier zonder het echt ingewikkeld (alhoewel MVC :p) te maken.

Maar het artikel hierboven ga ik zeker eens bestuderen...
Pagina: 1