Ik ben nieuw hier en heb een klein beetje ervaring met php. Ik heb redelijk wat ervaring met HTML en CSS. Ik ben een site op aan het zetten met CodeIgniter in combinatie met Bootstrap.
In mijn header probeer ik een menu te maken, waarvan een van de <li> elementen class="active" moet krijgen, gebaseerd op de pagina die de gebruiker aan het bekijken is.
Echter, ongeacht mijn code, het is altijd het eerste <li> element welke de class="active" krijgt. Dit betekend dat de eerste if statement altijd wordt uitgevoerd. Het lijkt erop dat de variabele $pagina alle waardes krijgt (home, wiezijnwij, contact), daarom zou de eerste if statement dus ook waar zijn (?). Echter als ik $pagina echo, dan zie ik dat deze variabele toch de juiste pagina weergeeft wat dus tegenstrijdig is met mijn eerste bevinding.
Heeft iemand enig idee hoe ik dit kan oplossen?? Ik denk dat het probleem gerelateerd is aan het feit dat ik de header oproep vanuit een controller (voor elke pagina) waardoor deze variabele op de een en of andere manier alle waardes krijgt.
Hieronder mijn code:
View:
<div class="span4 offset4">
<ul class="nav nav-pills">
<?php
$pagina = uri_string();
// echo $pagina;
if ($pagina = "home")
{
echo "<li class =\"active\"><a href=" . base_url() . "index.php/home>Home</a></li>";
echo "<li><a href=" . base_url() . "index.php/wiezijnwij>Wie Zijn Wij</a></li>";
echo "<li><a href=" . base_url() . "index.php/contact>Contact</a></li>";
}
elseif ($pagina = "wiezijnwij")
{
echo "<li><a href=" . base_url() . "index.php/home>Home</a></li>";
echo "<li class =\"active\"><a href=" . base_url() . "index.php/wiezijnwij>Wie zijn wij</a></li>";
echo "<li><a href=" . base_url() . "index.php/contact>Contact</a></li>";
echo current_url();
}
elseif ($pagina = "contact")
{
echo "<li><a href=" . base_url() . "index.php/home>Home</a></li>";
echo "<li><a href=" . base_url() . "index.php/wiezijnwij>Wie zijn wij</a></li>";
echo "<li class =\"active\"><a href=" . base_url() . "index.php/contact>Contact</a></li>";
echo current_url();
}
else
{
echo "<li><a href=" . base_url() . "index.php/home>Home</a></li>";
echo "<li><a href=" . base_url() . "index.php/wiezijnwij>Wie zijn wij</a></li>";
echo "<li><a href=" . base_url() . "index.php/contact>Contact</a></li>";
}
?>
</ul>
</div>
Controller bevat meerdere functies die het volgende bevatten:
public function index()
{
$this->load->view('templates/header');
$this->load->view('paginas/paginax');
$this->load->view('templates/footer');
}