Archief - Manier om actieve pagina te markeren

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

BjoJn

Legacy Member
Ik wil voor de eerste keer een website maken waarvan de actieve pagina met behulp van php wordt gemarkeerd als je op die pagina navigeert... ik heb daarvoor een oplossing gezocht.
Der bestaat ook een mogelijkheid om dit met css te doen, maar is niet de beste manier en is wat omslachtig.

ik kwam op volgende mogelijkheid... beide zijn ongeveer hetzelfde: deze en deze

zou dit de beste manier zijn? nog nooit geprobeerd, maar het zou moeten werken.

En het moet dus zijn: manier OM actieve ... xD

sanzo

Legacy Member
Als de rest van de website ook statisch is zie ik geen probleem om gewoon CSS te gebruiken. Anders lijkt het eerste voorbeeld me wel goed, en ook redelijk simpel. Kies gewoon een manier om het te doen, hoe maakt niet veel uit bij zo'n kleine dingen.

adrianhates

Legacy Member
bij kleine websites houd ik gewoon met een cijfer bij welke pagina dat actief is. Simpele oplossingen zijn vaak de beste bij kleine projecten.. :)

woony

Legacy Member
adrianhates zei:
bij kleine websites houd ik gewoon met een cijfer bij welke pagina dat actief is. Simpele oplossingen zijn vaak de beste bij kleine projecten.. :)

idd voor kleine websitejes steek ik gewoon een nummertje in mijn includes of in CI in mn $data voor m'n view. en dan respectievelijk in navigatie bij gelijk nummertje extra css classje toevoegen.

BjoJn

Legacy Member
woony zei:
idd voor kleine websitejes steek ik gewoon een nummertje in mijn includes of in CI in mn $data voor m'n view. en dan respectievelijk in navigatie bij gelijk nummertje extra css classje toevoegen.

ksnap de bedoeling... ma kunde daar een voorbeelde van geven, ben nog ma begonnen me php en zie het niet direct :)

woony

Legacy Member
Ik veronderstel dat je includes gebruikt voor bv uw header en uw footer?
anders weet je sowieso op welke pagina je zit en heb je dit niet nodig.

in uw pagina doe je dan iets als
Code:
<?php page = 5; ?>
<?php include header.php;?>
blablabcontent
<?php include footer.php ;?>

en in uw header.php heb je dan bv je menuutje zitten.
Code:
<ul>
<li <?php if($page == 1){ echo 'class="active"' ; }?>><a href="pg1.php">link</a></li>
<li <?php if($page == 5){ echo 'class="active"' ; }?>><a href="pg5.php">link</a><li>
</ul>

die $page kun je bijvoorbeeld ook uit querystring gaan halen misschien als je zo navigeert.
http://www.website.be/template.php?page=5

get it?

BjoJn

Legacy Member
oja, da werkt zo simpel, ma kdenk dak zowieso die oplossing dak gevonden heb ga proberen, anders kan ik jou oplossing ook proberen.

moet je als je een if-statement gebruikt geen voorwaarden definiëren als de eerste voorwaard niet klopt (als je bijvoorbeeld niet op pagina 5 zit)

Zero Grav

Legacy Member
Is het dan niet beter om gewoon de naam van de pagina te gebruiken? Google zou naar het schijnt toch GET parameters kunnen indexeren en dan lijkt het mij altijd beter om een naam te gebruiken die effectief terugslaat op de pagina dan op een nietszeggend getal?

FurtiveDuck

Legacy Member
BjoJn zei:
oja, da werkt zo simpel, ma kdenk dak zowieso die oplossing dak gevonden heb ga proberen, anders kan ik jou oplossing ook proberen.

moet je als je een if-statement gebruikt geen voorwaarden definiëren als de eerste voorwaard niet klopt (als je bijvoorbeeld niet op pagina 5 zit)

Dat is niet verplicht. Als de voorwaarde bij de if niet vervuld wordt dan zal er ook niets gebeuren, wat er in de statement staat zal dan zelfs niet meer gelezen worden.

Moest je dit willen kan je natuurlijk iets toevoegen aan het statement. Hoe dat precies zit met PHP kan ik niet onmiddelijk herinneren maar het zal wel niet veel verschillen:

Code:
if (waarde=1) {

doedit

else {

doedat

}

BjoJn

Legacy Member
HTML:
<li <?php if(($page == 'kern') || ($page == 'klassement') || ($page == 'uitslagen') || ($page == 'beloften')){ echo 'class="active"'; }?>><a href="#">Ploeg</a>
        <ul class="subnav">
            <li><a href="kern.php">Kern</a></li>
            <li><a href="klassement.php">Klassement</a></li>
            <li><a href="uitslagen.php">Uitslagen</a></li>
            <li><a href="beloften.php">Beloften</a></li>
        </ul>
</li>

Probleempje:
Dit li-element voor een dropdown (die perfect werkt) heeft een OR statement zodanig dat een van de dropdown pagina's actief is (kern of klassement,...), het li-element ploeg wordt gehighlight.
Maar twerkt echter niet.

ik denk niet dat er iets mis is met de php code, en de betreffende pagina's hebben allemaal de correct tag
PHP:
<?php $page = "kern"; ?>

Dus volgens mij als ik dus op de pagina 'kern' zit, dan zou het li-element 'ploeg' moeten highlighten...

krulle3

Legacy Member
met CSS is 't ook wree easy hoor. gewoon een andere klasse toekennen aan de li van de pagina die weergegeven wordt.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan