login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Meerdere lay-outs op 1 site

Offline DaanDanoon - 29/01/2010 17:06
Avatar van DaanDanoonLid Hi allemaal, ik heb een paar nieuwe lay-outs voor mijn site gemaakt, en het moet mogelijk zijn om op de site van lay-out te wisselen. door gewoon op een knop te drukken. Weet iemand hoe ik dit maak? (ik werk met stylesheets)
Alvast bedankt

8 antwoorden

Gesponsorde links
Offline WouterPSV - 29/01/2010 17:21
Avatar van WouterPSV Lid Je zou gewoon gewoon met meerde style sheets kunnen werken. En dan bijvoorbeeld mappen maken met daar in de plaatjes en bijbehoren stylesheet.

Dat je alleen maar layout1/style.css naar layout2/style.css hoeft te zetten.

Moet je wel om denken dat je opbouw van divjes overal gelijk is. Qua naam enzo.
Offline DaanDanoon - 29/01/2010 19:49
Avatar van DaanDanoon Lid Dan kan je beter alternate stylesheets gebruiken, maar dan weet ik weer niet hoe je een keuzemenu maakt en als je weer de site bezoekt, diezelfde gekozen lay krijgt.
Offline DimitriM - 20/04/2010 16:09 (laatste wijziging 20/04/2010 16:11)
Avatar van DimitriM Nieuw lid Ik had zelf ook net zoiets nodig en ik heb het gemaakt in javascript 

In de head zet ik mijn beide CSS's (eentje als alternate) en het javascript dat ervoor zorgt dat je van CSS kan wisselen:

  1. <head>
  2. <title>Opdrachten HTML</title>
  3. <link href="css1.css" rel="stylesheet" type="text/css" title="css1"/>
  4. <link href="css2.css" rel="alternate stylesheet" type="text/css" title="css2"/>
  5.  
  6. <script type="text/javascript">
  7.  
  8. function veranderCSS() {
  9. title = document.getElementById("css").value;
  10. var i, a, main;
  11. for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
  12. if ((a.getAttribute("rel").indexOf("style") != -1) && (a.getAttribute("title"))) {
  13. a.disabled = true;
  14. if(a.getAttribute("title") == title) a.disabled = false;
  15. }
  16. }
  17. }
  18.  
  19. </script>
  20. </head>


Ergens op die pagina heb ik dan zoiets staan:
  1. <select name="css" id="css" onchange="veranderCSS()">
  2. <option value="css1">Kleurrijk</option>
  3. <option value="css2">Monochrome</option>
  4. </select>


Dit is een dropdown box die het bovenstaande scriptje oproept.
De werking van dit scriptje is ook vrij simpel:
- Als eerste stapt zoekt het uit welke CSS je selecteert in je dropdown box;
- Dan zoekt het in een for-lus alle elementen met <link> in;
- Al deze link-elementen zullen dan disabled worden (niet meer werken);
- Als het "title"-attribuut van de <link>-tag overeenkomt met je value van je dropdown, dan zal dit element enabled worden;

Ik hoop dat ik je hiermee geholpen heb 
Offline Ontani - 20/04/2010 16:23
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Nu gaat ge er natuurlijk allemaal vannuit dat die layouts enkel en alleen uit een andere css bestaan en niet uit andere html.
Offline Raze - 20/04/2010 22:37
Avatar van Raze PHP beginner idd wat ontani zegt

is het niet makkelijker om met sessies (of cookies) te werken en een template parser te gebruiken?
Offline DimitriM - 21/04/2010 00:54 (laatste wijziging 21/04/2010 08:33)
Avatar van DimitriM Nieuw lid
Ontani schreef:
Nu gaat ge er natuurlijk allemaal vannuit dat die layouts enkel en alleen uit een andere css bestaan en niet uit andere html.


Ja, ik dacht dat hij dat bedoelde met: "(ik werk met stylesheets)". Als het de stylesheets EN de lay-out is dan kan je volgens mij inderdaad beter met sessies layout1 of layout2 of ... onthouden en dan iets als hieronder moeten hebben voor elke pagina. (in de veronderstelling dat beide lay-outs een aparte map krijgen met de naam van de lay-out, die tevens in de sessie wordt opgeslagen).

  1. include($_SESSION['layout'] ."/page.php");


Doch, het lijkt mij vreemd om nog met andere dingen te werken dan met CSS om van lay-out te veranderen, juist omdat de CSS ervoor dient om de lay-out aan te passen en de HTML-pagina's om de content aan te passen.
Offline larssy1 - 21/04/2010 09:45
Avatar van larssy1 MySQL beginner lijkt me eigenlijk makkelijker om hier met cookies te werken inplaats van sessions.

zoals bekend is, sessions blijven actief zolang de browser niet word afgesloten.
Cookies blijven echter langer actief en worden op de client zelf opgeslagen.

Ja, cookies zijn onveilig, maar wat willen ze veranderen? ja, alleen de layout.. dat maakt niks uit. Wees er alleen wel zeker van dat je ook even een standaard layout defineert.
Offline DimitriM - 21/04/2010 10:46
Avatar van DimitriM Nieuw lid
larssy1 schreef:
lijkt me eigenlijk makkelijker om hier met cookies te werken inplaats van sessions.

zoals bekend is, sessions blijven actief zolang de browser niet word afgesloten.
Cookies blijven echter langer actief en worden op de client zelf opgeslagen.

Ja, cookies zijn onveilig, maar wat willen ze veranderen? ja, alleen de layout.. dat maakt niks uit. Wees er alleen wel zeker van dat je ook even een standaard layout defineert.


Ja klopt, ik denk dat dat afhangt van de gebruiker of hij wilt dat de lay-out opgeslagen wordt per gebruiker of elke keer opnieuw naar de default-lay-out gaat. 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.187s