19 berichten aan het bekijken - 1 tot 19 (van in totaal 19)
  • Q:
    Bijdrager
    roelboekel.nl

    Meerdere stylesheets

    Ik zit met het volgende:

    Ik ben bezig met een site voor een omni vereniging:

    – voetbal
    – handbal
    – vrienden van
    – omni

    Nu heb ik deze onder gebracht in 1 site: http://www.con-zelo.nl. Nu wil ik vanuit vier verschillende mappen gaan laden. Nu zou ik graag willen wanneer bijvoorbeeld:

    http://www.con-zelo.nl/index_x.php?page=voetbal/content/home aanroep, dat hij de stylesheet voetbal.css aanroept. En zo voor elke map een eigen stylesheet. Ik neem aan dat het met PHP moet kunnen, maar ik kom er niet uit…

    Heeft hier iemand ervaring mee?

    Groet Roel

    Bijdrager
    Benji07

    Gewoon bij je voetbal pagina’s linken naar de voetbal css file.

    Bijdrager
    roelboekel.nl

    Maar ik werk vanuit 1 index_x.php bestand. Dan kun je toch niet verschillende stylesheets aanroepen?

    Bijdrager
    Almerrrrr
    ”Benji07″

    Gewoon bij je voetbal pagina’s linken naar de voetbal css file.

    Ja als je alles statisch opmaakt is dat zo inderdaad maar als je naar zijn url kijkt is dat niet zo

    ligt een beetje hoe je je opbouw gedaan hebt je zou de naam van je stylesheet variabel kunnen maken en die meegeven door de hele site.

    Bijdrager
    Marresc

    Dus je wilt één template gebruiken voor 4 verschillende sites met elk hun eigen stylesheet?

    Bijdrager
    roelboekel.nl
    ”Marresc”

    Dus je wilt één template gebruiken voor 4 verschillende sites met elk hun eigen stylesheet?

    Zo is het inderdaad. Dit met oogpunt dat ik data vanuit de andere sites benaderbaar wil hebben in andere delen van de site. Ik zou dus zeggen dat het zoiets zou moeten zijn:

    if:
    url=”htpp://www.con-zelo.nl/voetbal/”

    stylsheet=”css/voetbal.ccs”

    elseif:
    url=”htpp://www.con-zelo.nl/handbal/”

    stylsheet=”css/handbal.ccs”

    enzovoorts…

    Maar hoe zet ik dit een fatsoenlijk stukje PHP?

    Bijdrager
    Almerrrrr

    Zoiets volgens mij ( mijn php is beetje roestig )

    <?php
    if ($page==”voetbal”)
    $style=”voetbal”;
    elseif ($page==”handbal”)
    $style=”handbal”;
    ?>

    Bijdrager
    computer space

    [code:1:80ea0f05cc]$stylesheetlocation:="http://www.page.com/".$page.".css";[/code:1:80ea0f05cc] (of is dit te simpel?)

    Bijdrager
    roelboekel.nl

    Ik heb nu dit:

    [code:1:0e7c6591c1]
    <?php
    if ($page == "/vrienden/content/$page") {
    echo("<link href="css/vrienden.css" rel="stylesheet" type="text/css" />");
    }
    ifelse ($page == "/voetbal/content/$page") {
    echo("<link href="css/voetbal.css" rel="stylesheet" type="text/css" />");
    }
    ifelse ($page == "/handbal/content/$page") {
    echo("<link href="css/handbal.css" rel="stylesheet" type="text/css" />");
    }
    else ($page == "/omni/content/$page") {
    echo("<link href="css/omni.css" rel="stylesheet" type="text/css" />");
    }
    ?>
    [/code:1:0e7c6591c1]

    Maar dat werkt nog niet…

    De sugestie van Martiniman is inderdaad te simpel omdat je het dan van een pagina laat afhangen, terwijl het om een dir. gaat.

    hmm, ik loop een beetje vast, als iemand nog iets weet, graag…

    thnx! Roel

    Bijdrager
    freshface

    $page = $_GET[‘page’];
    Zet dat eens onder de <?php tag.
    En het is elseif
    En ik ze er ook wat de bugging insteken.

    $standerd = “xxx.css”;
    if ($page == “” or $page == undefined){ $page = $standerd; }

    Bijdrager
    iJoost

    En een slash ervoor?

    Zodat er komt te staan href=”/css/vrienden.css”

    Bijdrager
    roelboekel.nl

    Ha Freshface, thnx voor de tip. Dit stond inderdaad lager in de php file, maar het heeft helaas nog niet geholpen. Ik heb nu deze head:

    [code:1:6e46327909]
    <?php

    include("inc_connect.php");

    $menu1 = str_replace(’/’,”,$menu1);
    $menu2 = str_replace(’/’,”,$menu2);
    $page = str_replace(’/’,”,$page);

    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    <html>
    <head>

    <title>Con Zelo Waarland</title>

    <?php

    $page = $_GET[’page’];
    $menu1 = $_GET[’menu1’];
    $menu2 = $_GET[’menu2’];

    if ($page == "/vrienden/content/$page") {
    echo("<link href="css/vrienden.css" rel="stylesheet" type="text/css" />");
    }

    elseif ($page == "/voetbal/content/$page") {
    echo("<link href="css/voetbal.css" rel="stylesheet" type="text/css" />");
    }

    elseif ($page == "/handbal/content/$page") {
    echo("<link href="css/handbal.css" rel="stylesheet" type="text/css" />");
    }

    else ($page == "/omni/content/$page") {
    echo("<link href="css/omni.css" rel="stylesheet" type="text/css" />");
    }

    ?>

    <script language="javascript" src="css/conzelo.js"></script>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <meta name="Description" content="Voetbal Vereniging Con Zelo Waarland, de website voor uitslagen, standen en verslagen van alle teams en alle wedstrijden van Con Zelo" />
    <meta name="Keywords" content="Voetbal Vereniging Con Zelo Waarland VZV {Suck’s} VIOS Hollandia T SRC Schagen Hugo Boys Sint Boys" />

    </head>
    [/code:1:6e46327909]

    Groet Roel

    Bijdrager
    freshface

    [code:1:ac4f5cce2e]<?php
    $page = $_GET[’page’];
    $standerdCSS = "standerd";
    $cssFolder = "css/";
    if ($page== "" or $page == undefined){$page= $standerdCSS; }

    $cssArray = array(
    ‘vrienden’ => ‘vrienden.css’,
    ‘voetbal’ => ‘voetbal.css’,
    ‘hanbal’ => ‘handbal.css’,
    ‘omni’ => ‘omni.css’,
    ‘standerd’ => ‘standerd.css’
    );

    $error = 0;
    foreach($cssArray as $k => $v) {
    if($page == $k){
    echo "<link href="$cssFolder$v" rel="stylesheet" type="text/css" />";
    }else{
    $error += 1;
    }
    }

    if ($error == count($cssArray)){ echo "Error"; }
    ?>[/code:1:ac4f5cce2e]

    Bijdrager
    roelboekel.nl

    Hmm, dit is echt over een andere boeg…

    Ik kan er niet verder meekomen, ik ga gewoon naar 4 aparte index.php en die via algemene bestnden aansturen… Dat moet ook lukken volgens mij. Dan ben ik van dit probleem af…

    thnx so far, Roel

    Bijdrager
    freshface

    Bij dat script kijkt hij gewoon welke pagina je aanroept, dus ook welke stysheet.
    Simpeler kan niet.

    Bijdrager
    kaydie

    Misschien zoiets?
    [code:1:eaff0ba698]<?php
    $dir = explode("/", $_SERVER[’REQUEST_URI’]);
    $css = ‘css/’ . $dir[1] . ‘.css’;
    ?>[/code:1:eaff0ba698]

    Bijdrager
    hansenonline

    [code:1:8b6ea92faa]<?php

    // bepaal id voor css
    $id_css = ‘css’;

    if ( strpos( $_SERVER[’PHP_SELF’], ‘index_x.php?page=voetbal’) !== true ) {
    $id_css = ‘voetbal.css’;
    }
    else
    ( strpos( $_SERVER[’PHP_SELF’], ‘index_x.php?page=handbal’) !== true ) {
    $id_css = ‘handbal.css’;
    }

    ?>[/code:1:8b6ea92faa]

    [code:1:8b6ea92faa]<?php echo $id_css; ?>">[/code:1:8b6ea92faa]
    of zoiets, ook mijn php is erg roestig.

    Bijdrager
    tulipan

    Roelboekel.
    Tsja.. als je als link hebt:
    http://www.con-zelo.nl/index_x.php?page=voetbal/content/home

    Dan is de waarde van $page (die je idd met $page = $_GET[‘page’]; opvraagt) dus voetbal/content/home

    Hoe kun je dan de volgende check uitvoeren??

    [code:1:9ddb81a36a]if ($page == "/vrienden/content/$page") {[/code:1:9ddb81a36a]
    eigenlijk staat er dus:
    [code:1:9ddb81a36a]if ($page == "/vrienden/content/voetbal/content/home") {[/code:1:9ddb81a36a]

    Er zijn meerdere oplossingen, je kunt denken aan het invoeren van een extra URL parameter “section”
    Oftewel je url wordt:
    http://www.con-zelo.nl/index_x.php?page=voetbal/content/home&section=voetbal

    Maar de oplossing van hansenonline is toch wel de mooiste.

    Bijdrager
    kaydie

    [code:1:618dce6185]<?php

    $pages=array("voetbal", "handbal", "vrienden","omn");
    $css = ‘/css/standaard.css’;

    if(isset($_GET[’page’])){
    $dir = explode("/", $_GET[’page’]);
    foreach($pages as $key => $value) {
    if($dir[0]==$pages[$key]) {
    $css = ‘css/’ . $dir[0] . ‘.css’;
    }
    }
    }

    echo $css;
    ?>[/code:1:618dce6185]

19 berichten aan het bekijken - 1 tot 19 (van in totaal 19)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.