Du schreibst gern sehr viel, aber echt gern immer wieder nacheinander das selbe:
Ja, ich wollte das noch irgendwann zusammenfassen. ^^
Warum übernimmst Du nicht das…
if ( file_exists( $path = $subpages . 'savegame.php' ) )
in die Funktion
navAnchor()
??? Da hast Du doch 'savegame' schon drin. Für den Rest der Liste gilt das selbe…
Hier mein Ergebnis:
<?php
function navAnchor( $href, $name, $uri ) {
$current = '';
if ( !empty( $_GET['subpage'] ) ) {
if ( $href === $_GET['subpage'] )
$current = 'aria-current="page"';
} else {
if ( $href === 'game' )
$current = 'aria-current="page"';
}
$subpages = $_SERVER['DOCUMENT_ROOT'] . '/pages/' . $uri[1] . '/' . $uri[2] . '/subpages/';
if ( file_exists( $subpages . $href . '.php' ) )
return '<a ' . 'href="' . $href . '" ' . $current . '>' . $name . '</a>';
}
?>
<nav id="page">
<?=navAnchor( 'game', 'Spiel', $uri );?>
<?=navAnchor( 'releases', 'Releases', $uri );?>
<?=navAnchor( 'merchandise', 'Merchandise', $uri );?>
<?=navAnchor( 'guides', 'Guides', $uri );?>
<?=navAnchor( 'emulation', 'Emulation', $uri );?>
<?=navAnchor( 'mods', 'Mods', $uri );?>
<?=navAnchor( 'maps', 'Maps', $uri );?>
<?=navAnchor( 'savegame', 'Savegame', $uri );?>
</nav>
Ich habe das jetzt mal so übernommen, wie du es ersprünglich geschrieben hast: mit einem return
statt eines echo
. Anschließend initialisiere ich die Funktionen mit <?=
, wie du ja meintest. Was ist denn eigentlich sinnvoller: Jedes mal <?= ?>
zu schreiben oder einfach <?php ?>
und alle Funktionen rein? Ich verstehe leider noch nicht so ganz den Sinn hinter diesen verschiednen Möglichkeiten, PHP-Code zu beginnen.