Hi(gh)!
Ich führe im Augenblick zwei Blogs (na ja, noch ziemlich rudimentär, Kommentiermöglichkeit ist noch nicht implementiert), die einzlnen Seiten nach Monaten organisiert; angesteuert werden sie mittels eines Pulldown-Menüs (der Javascript-Code dazu stammt aus der "Kleine Helferlein"-Rubik von SelfHTML). Jede Blogseite inkludiert dazu u. a. eine kleine PHP-Datei mit zwei Arrays, die die Namen der Links und die Linkadressen (genauer, deren von Seite zu Seite unterschiedliche Teile, während der erste Teil "bikeblog" bzw. "flagmaker" in jedem Blog immer gleichbleibt, ebenso natürlich die Endung ".php"):
bikeblog_subnavdata.php:
<?php
$subnv = array ("Einführung", "Archiv", "Mai 2013", "Juni 2013", "Juli 2013", "August 2013", "September 2013", "Oktober 2013", "November 2013", "Dezember 2013", "Januar 2014", "Februar 2014", "März 2014");
$subnavlinks = array ("", "_archiv", "_2013-05", "_2013-06", "_2013-07", "_2013-08", "_2013-09", "_2013-10", "_2013-11", "_2013-12", "_2014-01", "_2014-02", "_2014-03");
?>
Außerdem wird eine standardisierte Funktionsdatei "subnav.php" inkludiert:
<?php
function subnav($gap, $subnv, $subnavlinks, $vorsatz)
{
$max = count($subnv);
echo '<form>';
echo ' <select size=1 onChange="Go(this.form[0].options[this.form[0].options.selectedIndex].value)">';
echo ' <option value="#">Kapitel auswählen:</option>';
for ($i=$max-1; $i>=0; $i--)
{
if ($i == $gap) continue;
echo '<option value="'.$vorsatz.$subnavlinks[$i].'.php'.'">'.$subnv[$i].'</option>';
}
echo ' </select>';
echo '</form>';
}
?>
Damit ich nicht für jedes Blog (es sind in Zukunft noch weitere geplant) eine eigene Version von subnav.php programmieren muss, übergebe ich subnav auch die beiden oben genannten Arrays. Der erste Parameter bezeichnet die Nummer der jeweils aktuellen Seite, die nicht in der Liste stehen muss und daher (continue) übersprungen wird. Der Aufruf sieht im Falle der bikeblog-Seiten so aus:
?>
<h1>Yadgars Fahrrad-Blog</h1>
<div class="pulldown">
<?
subnav(0, $subnv, $subnavlinks, "bikeblog");
?>
So weit so gut und mit meinen "bikeblog"-Seiten funktioniert es auch prima - allerdings nicht mit den "flagmaker"-Seiten!
Hier der entsprechende Code - flagmaker_subnavdata.php:
<?php
$subnv = array ("Einführung", "März 2014");
$subnavlinks = array ("_einfuehrung", "_2014-03");
?>
Aufruf auf den flagmaker-Seiten:
?>
<h1>Programmier-Blog: Flagmaker</h1>
<div class="pulldown">
<?
subnav(0, $subnv, $subnavlinks, "flagmaker");
?>
Der einzige Unterschied ist, dass die erste "flagmaker"-Seite flagmaker_einfuehrung.php, die erste "bikeblog"-Seite aber nur einfach bikeblog.php heißt, weshalb das erste Element von §subnavlinks in bikeblog_subnavdata nur "" lautet - ansonsten kann ich beim besten Willen keine Unterschiede feststellen. Warum funktionieren die flagmaker-Seiten dann nicht?
Die URL: http://www.rock-o-data.de/khyberspace/flagmaker_einfuehrung.php
Bis bald im Khyberspace!
Yadgar