[Website] Dynamische tekst gelinkde pagina

Pagina: 1
Acties:

  • Ruzor
  • Registratie: Februari 2003
  • Niet online

Ruzor

Off with his head man

Topicstarter
Ik ben bezig met een website met daarin een hoofdpagina met een menu en de links in dat menu verwijzen naar andere pagina's, zoals dit:
code:
1
2
3
4
Hoofdpagina (menu) 
-> Downloads.html
-> Spellen.html
-> etc.

Omdat die andere pagina's eigenlijk hetzelfde zijn (achtergrond en 1 layer met tekst), lijkt het me makkelijker om de volgende pagina's tot 1 samen te voegen waarin dus alle layers zitten met de tekst van de verschillende pagina's en dat die layer via het hoofdmenu wordt opgeroepen. Dus zo:
code:
1
2
3
4
Hoofdpagina (menu)
-> Pagina 2 (layer Downloads)
-> Pagina 2 (layer Spellen)
-> Pagina 2 (layer etc.)

Dus dan heb ik dan maar twee pagina's (makkelijker aanpassen), i.p.v. zoveel subpagina's.

Ik heb zelf niet zo veel verstand van php, maar ik denk dat het daar wel mee moet kunnen. Hoe kan ik dit het beste doen? Als iemand dat een beetje wilt uitleggen/een voorzetje wilt geven _/-\o_

Hoeft dus niet php te zijn, als iemand een ander (simpeler) idee heeft dan hoor ik dat ook graag.

Oja, de topic titel is niet je van het, maar ik wist niet goed hoe ik het moest omschrijven.

[ Voor 8% gewijzigd door Ruzor op 22-04-2004 09:56 ]

[This is what you get when you mess with us]


  • pagani
  • Registratie: Januari 2002
  • Niet online
Gewoon met bijv. javascript of php of whatever. Je geeft in de link een variabele mee, bijv.: inhoud.html?var=1

Dan in de inhoud.html binnen de script tags:
code:
1
2
3
of (var=1) {
  document.write('Pagina 1');
}


Aan je vraag te zien vermoed ik echter dat je eerst even wat tutorials door moet kijken.

[ Voor 5% gewijzigd door pagani op 22-04-2004 10:05 ]


Verwijderd

wanneer je teksten verder statisch blijven, kun je gewoon 1 pagina content.php maken, met daarin al je opmaak etc. als je dan een id meestuurt vanuit je menu, kun je bv mbv switch aan de hand van die id een te includen pagina bepalen. en die kun je dan mbv inlcude($pagina) includen...

  • Ruzor
  • Registratie: Februari 2003
  • Niet online

Ruzor

Off with his head man

Topicstarter
johnnyv.nl schreef op 22 april 2004 @ 10:04:
Gewoon met bijv. javascript of php of whatever. Je geeft in de link een variabele mee, bijv.: inhoud.html?var=1

Dan in de inhoud.html binnen de script tags:
code:
1
2
3
of (var=1) {
  document.write('Pagina 1');
}


Aan je vraag te zien vermoed ik echter dat je eerst even wat tutorials door moet kijken.
Ok dan zou ik dus in inhoud.html een script moeten maken wat dus zegt dat als var=1 dat dan layer1 visible wordt. Als var=2 dan wordt layer 2 visible. Klopt dat?

[This is what you get when you mess with us]


  • pagani
  • Registratie: Januari 2002
  • Niet online
Ruzor schreef op 22 april 2004 @ 10:18:
[...]

Ok dan zou ik dus in inhoud.html een script moeten maken wat dus zegt dat als var=1 dat dan layer1 visible wordt. Als var=2 dan wordt layer 2 visible. Klopt dat?
Nou, kijk:

De link die je aanroept (die dus waarschijnlijk in de index ofzo staat) moet verwijzen naar bestandwaaralelayersinstaan.html?var=x, waarbij x de layer is die je wil laten zien. In dit bestand zet je een scriptje welke aan de hand van de x een bepaalde layer opbouwt.

  • Ruzor
  • Registratie: Februari 2003
  • Niet online

Ruzor

Off with his head man

Topicstarter
Verwijderd schreef op 22 april 2004 @ 10:08:
wanneer je teksten verder statisch blijven, kun je gewoon 1 pagina content.php maken, met daarin al je opmaak etc. als je dan een id meestuurt vanuit je menu, kun je bv mbv switch aan de hand van die id een te includen pagina bepalen. en die kun je dan mbv inlcude($pagina) includen...
Ik snap het, maar dan roep ik eigenlijk verschillende html pagina's in de php pagina aan als ik het goed zie. Terwijl het eigenlijk veel makkelijker is, het verschil is alleen de layer (de tekst in de layer). Kan ik dan ook dan de layer een id geven en dan die layer includen? Dat ik dan content.php aanroep die layer 1 include.

[This is what you get when you mess with us]


  • Ruzor
  • Registratie: Februari 2003
  • Niet online

Ruzor

Off with his head man

Topicstarter
johnnyv.nl schreef op 22 april 2004 @ 10:21:
[...]

Nou, kijk:

De link die je aanroept (die dus waarschijnlijk in de index ofzo staat) moet verwijzen naar bestandwaaralelayersinstaan.html?var=x, waarbij x de layer is die je wil laten zien. In dit bestand zet je een scriptje welke aan de hand van de x een bepaalde layer opbouwt.
Ja precies, hoewel opbouwen hier gewoon visible maken is. Waar kan ik het beste kijken om zo'n script zelf te maken. Ik heb wel wat verstand van programmeren, maar net niet genoeg om zo'n script zelf te schrijven.

[This is what you get when you mess with us]


  • pagani
  • Registratie: Januari 2002
  • Niet online
Ruzor schreef op 22 april 2004 @ 10:23:
[...]

Ik snap het, maar dan roep ik eigenlijk verschillende html pagina's in de php pagina aan als ik het goed zie. Terwijl het eigenlijk veel makkelijker is, het verschil is alleen de layer (de tekst in de layer). Kan ik dan ook dan de layer een id geven en dan die layer includen? Dat ik dan content.php aanroep die layer 1 include.
Je roept niet verschillende html pagina's aan, je roept steeds dezelfde aan met andere parameters. Maar je zou idd ook de layer (of DIV) steeds kunnen wijzigen, maar uit je verhaal maakte ik op dat je frames gebruikt :/ (wat dus voor mijn oplossing zou pleiten)

Je kan het op jouw manier en de mijne overigens ook allemaal in een pagina zetten (dus ook het hoofdmenu)

[ Voor 9% gewijzigd door pagani op 22-04-2004 10:28 ]


  • Ruzor
  • Registratie: Februari 2003
  • Niet online

Ruzor

Off with his head man

Topicstarter
johnnyv.nl schreef op 22 april 2004 @ 10:26:
[...]

Je roept niet verschillende html pagina's aan, je roept steeds dezelfde aan met andere parameters. Maar je zou idd ook de layer (of DIV) steeds kunnen wijzigen, maar uit je verhaal maakte ik op dat je frames gebruikt :/ (wat dus voor mijn oplossing zou pleiten)
Nee ik gebruik geen frames :) Dat is een van de dingen die je nooit moet doen, heb ik geleerd :)

Maar jou oplossing kan toch ook zonder frames? Ik bedoel, ik heb inhoud.html, mat daarin de verschillende layers met verschillende inhoud. Die staan allemaal op "hidden". Als ik nou zo'n script maak die aan de hand van de variabele meegegeven in het menu op de hoofdpagina een van de layers visible maakt, dat lijkt me een goede en simpele oplossing.
Je kan het op jouw manier en de mijne overigens ook allemaal in een pagina zetten (dus ook het hoofdmenu)
Dat denk ik idd ook, maar dat is voor mij weer onoverzichtelijker. Ik wil het zo overzichtelijk mogelijk maken met een startpagina en een inhoudpagina, zodat het ook makkelijk aanpassen is.

[ Voor 18% gewijzigd door Ruzor op 22-04-2004 10:33 ]

[This is what you get when you mess with us]


Verwijderd

Ruzor schreef op 22 april 2004 @ 10:23:
[...]

Ik snap het, maar dan roep ik eigenlijk verschillende html pagina's in de php pagina aan als ik het goed zie. Terwijl het eigenlijk veel makkelijker is, het verschil is alleen de layer (de tekst in de layer). Kan ik dan ook dan de layer een id geven en dan die layer includen? Dat ik dan content.php aanroep die layer 1 include.
wanneer je al je formatting gedaan hebt, en bv een layer hebt gemaakt waar je je tekst in wilt zetten, kun je die tekst in een aparte file zetten en die binnen de layer includen, zoiets:
PHP:
4
5
6
7
8
<div id="bla">
  <?
    include ($pagina);
  ?>
</div>

  • Ruzor
  • Registratie: Februari 2003
  • Niet online

Ruzor

Off with his head man

Topicstarter
Verwijderd schreef op 22 april 2004 @ 10:31:
[...]

wanneer je al je formatting gedaan hebt, en bv een layer hebt gemaakt waar je je tekst in wilt zetten, kun je die tekst in een aparte file zetten en die binnen de layer includen, zoiets:
PHP:
4
5
6
7
8
<div id="bla">
  <?
    include ($pagina);
  ?>
</div>
Dat is ook makkelijk ja, dat gewoon de layer vaststaat en dat de tekst erin veranderd. Dan heb ik dus hoofdpagina - inhoudpagina - tekstvoorinhoudpagina.
Kan ik dan ook alle verschillende delen tekst aanroepen in de inhoudpagina?

Ik zit nu te twijfelen of php of met een javascript.

[ Voor 8% gewijzigd door Ruzor op 22-04-2004 10:40 ]

[This is what you get when you mess with us]


  • pagani
  • Registratie: Januari 2002
  • Niet online
Ruzor schreef op 22 april 2004 @ 10:40:
[...]

Dat is ook makkelijk ja, dat gewoon de layer vaststaat en dat de tekst erin veranderd. Dan heb ik dus hoofdpagina - inhoudpagina - tekstvoorinhoudpagina.
Kan ik dan ook alle verschillende delen tekst aanroepen in de inhoudpagina?

Ik zit nu te twijfelen of php of met een javascript.
Met javascript laadt de bezoeker ineens de hele pagina in, dat kan traag zijn en als jij in de tussentijd je pagina update krijgt de bezoeker de wijzigingen niet te zien. Als je het met php oplost verdeel je je dataverkeer wat meer en heb je het update-probleem niet, maar de gebruiker moet bij elke klik ff wachten.

  • Ruzor
  • Registratie: Februari 2003
  • Niet online

Ruzor

Off with his head man

Topicstarter
johnnyv.nl schreef op 22 april 2004 @ 10:42:
[...]

Met javascript laadt de bezoeker ineens de hele pagina in, dat kan traag zijn en als jij in de tussentijd je pagina update krijgt de bezoeker de wijzigingen niet te zien. Als je het met php oplost verdeel je je dataverkeer wat meer en heb je het update-probleem niet, maar de gebruiker moet bij elke klik ff wachten.
Ik verwacht niet zoveel bezoeker dat ik dat update probleem zou hebben :) Maar ik wil het met php doen, en dan lijkt me het beste op deze manier:
Dat is ook makkelijk ja, dat gewoon de layer vaststaat en dat de tekst erin veranderd. Dan heb ik dus hoofdpagina - inhoudpagina - tekstvoorinhoudpagina.
Om het even op een rijtje te zetten:

hoofdpagina stuurt met een id de inhoudpagina aan die vervolgens aan de hand van die id de tekst uit de tekstvoorinhoudpagina haalt. Klopt dit? En alle drie zijn het php pagina's.

Zo ja, waar kan ik leren/lezen (of voorbeelden zien) hoe ik dit kan maken?

[ Voor 21% gewijzigd door Ruzor op 22-04-2004 11:00 ]

[This is what you get when you mess with us]


  • pagani
  • Registratie: Januari 2002
  • Niet online
Met de basis tutorial moet het al wel lukken: http://www.php.net/tut.php

  • Ruzor
  • Registratie: Februari 2003
  • Niet online

Ruzor

Off with his head man

Topicstarter
johnnyv.nl schreef op 22 april 2004 @ 11:06:
Met de basis tutorial moet het al wel lukken: http://www.php.net/tut.php
Ok, ik ben al verder met behulp van die tutorial.

Inmiddels zijn hoofdpagina, inhoudpagina, tekstvoorinhoudpagina allemaal php en zijn inhoudpagina en tekstvoorinhoudpagina aan elkaar gelinkt.

Als ik nu inhoudpagina open dan zie ik de tekst die ik in tekstvoorinhoudpagina heb gezet.

In inhoudpagina zit dus:
code:
1
2
3
4
5
<?php 
include('text.php');
echo $about;
echo $options; 
?>


en in de text pagina:
code:
1
2
3
4
<?php
$about = about blabla;
$options = options bla bla;
?>


Nu nog zorgen dat er een soort switch (if, elseif) komt en dat er een parameter wordt meegegeven in het menu van de hoofdpagina en wat dus gelezen wordt.

Dit staat echter niet in die tutorial, dus ik zou graag weten hoe ik zoiets kan opzetten.

Deze switch lijkt me wel dat 'ie gaat werken:
code:
1
2
3
4
5
6
7
8
9
10
11
<?php 
include('text.php');

layer_text();

if (!about) {
    echo $about;
} elseif (!options) {
    echo options;
}
?>

Maar wat moet er na de if komen (tussen de haken?) dus i.p.v. (!about)?

Ik zie dat de tutorial nog iets groter is :) maar ik zie door de bomen het bos niet meer. Het enige wat ik moet weten is hoe ik de link met variabele in het menu zet en hoe ik diezelfde variabele uitlees in de inhoudpagina.

[ Voor 26% gewijzigd door Ruzor op 22-04-2004 12:48 ]

[This is what you get when you mess with us]


Verwijderd

op je link iets van href="mijnpagina.php?topic=download" en dan in je code
PHP:
4
5
6
7
8
9
10
11
12
13
switch ($topic) { 
   case "download": 
       $pagina="download.html"; 
       break; 
   case "overig": 
       $pagina="overig.html"; 
       break;
   default:
      $pagina="home.html";
}

en dan in je hoofdpagina include ($pagina);

[ Voor 13% gewijzigd door Verwijderd op 22-04-2004 13:12 ]


  • Ruzor
  • Registratie: Februari 2003
  • Niet online

Ruzor

Off with his head man

Topicstarter
Verwijderd schreef op 22 april 2004 @ 13:11:
op je link iets van href="mijnpagina.php?topic=download" en dan in je code
PHP:
4
5
6
7
8
9
10
11
12
13
switch ($topic) { 
   case "download": 
       $pagina="download.html"; 
       break; 
   case "overig": 
       $pagina="overig.html"; 
       break;
   default:
      $pagina="home.html";
}

en dan in je hoofdpagina include ($pagina);
Het werkt!

Hartstikke bedankt, de switch werkt en ik ben er nu dus uit. Nou kan ik mooi verder met de inhoud, in ieder geval weer wat geleerd.

[ Voor 10% gewijzigd door Ruzor op 22-04-2004 13:17 ]

[This is what you get when you mess with us]

Pagina: 1