Gunnar Bittersmann: php mit aria-current

Beitrag lesen

@@Lars

Ich habe eine seperate datei (menu.php) und die integriere ich per <?php include ("menu.php"); ?> in die eigentliche seite. > Das hätte ich besser deutlicher erklärt 😏. Gibt es dann trotzdem eine Möglichkeit die aktuelle Seite bzw. den aktuellen Link zu makieren?

Wenn du was mit include einbindest (was übrigens keine Funktion ist), dann wird das Include vom PHP-Interpreter geparst. (Wenn das Include nicht nach PHP geparst werden muss, bietet sich sonst readfile() an.)

Das heißt: du kannst im Include PHP ausführen lassen. Also die aktuelle Seite, auf der das Include eingebunden wurde, ermitteln: $_SERVER['REQUEST_URI'] (mit möglicherweise im URL vorhandenem Query) bzw. $_SERVER['PHP_SELF'] (ohne Query).

<nav>
	<ul>
		<li>
			<a
<?php if ($_SERVER['PHP_SELF'] === '/alpha'): ?>
				aria-current="page"
				tabindex="0"
<?php else: ?>
				href="/alpha"
<?php endif; ?>
			>
				Alpha
			</a>
		</li>
		<li>
			<a
<?php if ($_SERVER['PHP_SELF'] === '/omega'): ?>
				aria-current="page"
				tabindex="0"
<?php else: ?>
				href="/omega"
<?php endif; ?>
			>
				Omega
			</a>
		</li>
	</ul>
</nav>

LLAP 🖖

--
„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann