2 4 5 14 0 0 0

Die Verzeichnisauswahl

Hier folgt die Abbildung der Datei verzeichnis.php. Sie findet ihren Einsatz in einem zweiten <nav>-Element. Weiße Schrift im schwarzen Balken. Nun, eine echte Navigation stellt sie zwar nicht dar (außer Home, wenn irgend ein Inhalt bereits gewählt wurde), aber die Baumstruktur wird dargestellt.

Ob das etwas Notwendiges ist, beantwortet jeder für sich selbst. Bei Navigationsangeboten, die ihre Links offen halten (die alternative Navigation), wird es schnell zum Überbau. Es wird nicht notwendig sein. Bei größeren Inhalten und einer Navigation, die sich nach dem Klick schließt, finde ich es ganz in Ordnung auf die aktuelle Auswahl hinzuweisen.

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
$dir 
= isset($_GET['k']) ? $_GET['k'] : ;
$file = isset($_GET['s']) ? $_GET['s'] : ;
$og = isset($_GET['ogr']) ? $_GET['ogr'] : ;
$grz = isset($_GET['grz']) ? $_GET['grz'] : ;
$anav = isset($_GET['a']) ? $_GET['a'] : ;
$dtxt "../php/bezeichner/dir.txt" ;
$ftxt "../php/bezeichner/file.txt" ;
$durl "../php/url/dir.txt" ;
$furl "../php/url/file.txt" ;
$ar_dir file($dtxt) ;
$ar_file file($ftxt) ;
$ar_furl file($furl) ;
$ar_durl file($durl) ;

for (
$i=0$i count($ar_dir); $i++){
 
$ar_dirz explode '|'$ar_dir[$i] );
 
$ar_fz explode '|'$ar_file[$i] );
 
$arf_url explode '|'$ar_furl[$i] );
 
$ard_url explode '|'$ar_durl[$i] );
 if ( 
strlen($ar_dir[$i]) > ) {
  ${
"ardir$i"} = array() ;
  ${
"ardir_ordz$i"} = array() ;
  ${
"arfi$i"} = array() ;
  ${
"arfi_grnr$i"} = array() ;
  ${
"arfi_url$i"} = array() ;
  ${
"arfi_nr$i"} = array() ;
  foreach ( 
$ar_dirz as $x => $val ){
  ${
"ardir$i"}[$x] = substr($val,3) ;
  ${
"ardir_ordz$i"}[$x] = substr($val,0,2) ;
  }
 }  
 foreach ( 
$ar_fz as $f => $fval ){
  
$dppl strpos($fval':') ;
  
$bez substr($fval,$dppl+1) ;
  
$pre substr($fval,$dppl-2,2) ;
  ${
"arfi_grnr$i"}[$f] =   $pre[0] ;  //2. Ordner
  
${"arfi_$i"}[$f] = $bez 
  
$f_url substr($arf_url[$f],3) ; //$dppl(doppelpunkt)+2 Zahlen entfernen 
  
${"arfi_url$i"}[$f] = $f_url ;
  ${
"arfi_nr$i"}[$f] = $fval 
 }
}
$pfeil "<span class='pfeil'> ► </span>" ;
$start = ( $dir == && $file == ) ? "HOME" :"<a href='?k=0&s=0' class='dir'>Home</a>" ;
$dirgr $anav == ? ${"arfi_grnr$dir"}[$file] : ${"ardir_ordz$dir"}[substr($grz,1,1)] ;
if ( 
$file ) {
  if ( 
$dir == && $file ) {
  if ( 
$file == $o1 '' // muss leer bleiben für alle Dateien des „nullten“ Ordners 
  
} else $o1 = isset(${"ardir$dir"}[0]) ? $pfeil.${"ardir$dir"}[0] : "" ;
  if ( 
$og ) { 
// Die Hauptnavigation wird angesprochen.
   
if ($anav == 0$o2 = isset(${"ardir$dir"}[$dirgr])? $pfeil.${"ardir$dir"}[$dirgr] : "" 
   else 
$o2 $pfeil.${"ardir$dir"}[substr($grz,1,1)] ; // also 2. Ordnerschicht / Unterordner
  
} else $o2 "" // muss leer bleiben für alle Dateien des „nullten“ Ordners
  
$datei = isset(${"arfi_$dir"}[$file]) ? $pfeil."<i>".${"arfi_$dir"}[$file]."</i>" "" ;
} else { 
  
$o1 '' ;
  
$o2 '' ;
  if (
$anav == 1$o2 $pfeil.${"ardir$dir"}[substr($grz,1,1)] ;
  
$datei '' ;
  
// Anzeige des Unterordners für die alternative Navigation
  
if ( $dir != && substr($grz,1,1) != 0$o1 $pfeil.${"ardir$dir"}[0] ;
}
$struktur "$start $o1 $o2 $datei;
?>

Es fällt auf, dass beginnend der größte Teil der Beschreibung: Linkbildung(2) ähnelt. Es ist aber aber eine Sonderbehandlung für die alternative Navigation wieder vorhanden. UND es ist im main.php-Dokument eingebunden, wodurch es auf jeden Seitenaufruf reagiert / reagieren muss. Mit ${"arfi_url$i"}[$f] wird für jeden Seitenaufruf der Pfad zur Datei übermittelt 39:.
In der main.php wird vor dem body-Element $seite = ${"arfi_url$dir"}[$file] ; notiert und im Element article zur Ausgabe gebracht.

<article id="contain">
 <?php  
  include $seite ; 
 ?>
</article>

In 49: und 55: wird darauf eingegangen, dass nicht nur die Themennavigation erfasst sein soll, auch Dateien, die sich im „nullten“ Ordner befinden und von der Linkdarstellung bewusst ausgeschlossen wurden, sollen ihre Darstellung finden ohne Angabe des Ordners. Dabei handelt es sich überlicherweise um Dateien wie „Impressum“, „Kontakt“ oder halt eine „Sitemap“-Darstellung. An einer gut sichtbaren Position sollten sie sich schon befinden und als Link ersichtlich sein. Von aller Automatik ausgeschlossen müssen die dann von Hand platziert werden.


// vor dem <body>
include "../php/verzeichnis.php" ;
$sitemap = ( $dir == 0 && $file == 1) ? "SITEMAP" : "<a tabindex='1' href='?k=0&s=1&ogr=0'>SiteMap</a>" ;
// So man dann will auch:
$implink = ( $dir == 0 && $file == 2) ? "IMPRESSUM" : "<a tabindex='1' href='?k=0&s=2&ogr=0'>Impressum</a>" ;
// usw. Ich stelle hier nur die unnötige SiteMap vor.
// und im <body> -> <main>
<nav id='unternavi'>
  <span id='slink' class='slink'><?php echo $struktur; ?></span>
  <span id='impress' class='slink'><?php echo $sitemap; ?></span>
</nav>

Von 44 bis 62 wird nur noch geformt, wie der aktuelle Verzeichnisbaum dargestellt sein soll,
nämlich: „ Home PHP Auto-Verweise Verzeichnisabbildung “.
Und das wars!




Dokument geändert am: 14. Dez. 2017 16:13