Ik ben, zoals zovelen, een eigen light-weight CMS aan het schrijven.
Eén van de dingen die ik wil bereiken is een automatische sitemap.
Ik ben er al in gelukt om automatisch een multidimensionale array op te bouwen.
Hieronder staat een voorbeeld array: een klein beetje uitleg.
Op het eerste niveau staan 1_startpagina, 2_diensten, 3_pc-onderhoud, h_foo.php
Onder 2_diensten staat een extra navigatieniveau: 1_test.php, 1_website, 2_blah.php, 2_netwerk.
Onder 2_diensten/2_netwerk staat nog een extra niveau: 1_nieuwe-map, 2_nieuwere-map, 3_nieuwste-map.
Op basis van deze mulitdimenisonale array zou ik dus een sitemap willen maken met ul - li
Mijn php-code ziet er als volgt uit:
Deze code zorgt ervoor dat mijn sitemap bijna volledig afgedrukt wordt:
Het probleem is echter dat ik er maar niet in slaag om een subniveau van de juiste html code te voorzien. Er staat:
maar dat zou dus het onderstaande moeten zijn:
Na verschillende dagen van debuggen en vloeken, had ik graag gebruik gemaakt van jullie enorme kennis.
Eén van de dingen die ik wil bereiken is een automatische sitemap.
Ik ben er al in gelukt om automatisch een multidimensionale array op te bouwen.
Hieronder staat een voorbeeld array: een klein beetje uitleg.
Op het eerste niveau staan 1_startpagina, 2_diensten, 3_pc-onderhoud, h_foo.php
Onder 2_diensten staat een extra navigatieniveau: 1_test.php, 1_website, 2_blah.php, 2_netwerk.
Onder 2_diensten/2_netwerk staat nog een extra niveau: 1_nieuwe-map, 2_nieuwere-map, 3_nieuwste-map.
Op basis van deze mulitdimenisonale array zou ik dus een sitemap willen maken met ul - li
code:
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
| Array ( [0] => 1_startpagina [1] => 2_diensten [2] => Array ( [0] => 1_test.php [1] => 1_website [2] => 2_blah.php [3] => 2_netwerk [4] => Array ( [0] => 1_nieuwe-map [1] => 2_nieuwere-map [2] => 3_nieuwste-map ) [5] => 3_pc-onderhoud [6] => Array ( [0] => 1_nieuwe-map [1] => 2_nieuwere-map [2] => 3_nieuwste-map ) [7] => h_foo.php ) |
Mijn php-code ziet er als volgt uit:
PHP:
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
| $this->Sitemap($array); function Sitemap($input, $count = 0) { if($count == 0) { print "<ul>\n"; } foreach($input as $value) { if(is_array($value)) { print "\n<ul>\n"; $count++; $this->sSitemap($value, $count); } else { print "\t<li>$value</li>\n"; } } print "</ul>\n"; if($count == 1) { print "\t</li>\n"; } } |
Deze code zorgt ervoor dat mijn sitemap bijna volledig afgedrukt wordt:
code:
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
| <ul> <li>1_startpagina</li> <li>2_diensten</li> <ul> <li>1_test.php</li> <li>1_website</li> <li>2_blah.php</li> <li>2_netwerk</li> <ul> <li>1_nieuwe-map</li> <li>2_nieuwere-map</li> <li>3_nieuwste-map</li> </ul> <li>3_pc-onderhoud</li> <ul> <li>1_nieuwe-map</li> <li>2_nieuwere-map</li> <li>3_nieuwste-map</li> </ul> <li>h_foo.php</li> </ul> <li>3_producten</li> <ul> <li>1_nieuwe-map</li> <li>2_nieuwere-map</li> <li>3_nieuwste-map</li> </ul> <li>4_contactgegevens</li> <li>5_sitemap</li> </ul> |
Het probleem is echter dat ik er maar niet in slaag om een subniveau van de juiste html code te voorzien. Er staat:
code:
1
2
3
4
5
6
7
8
9
| <ul> <li>1_startpagina</li> <li>2_diensten</li> <ul> <li>1_test.php</li> <li>1_website</li> <li>2_blah.php</li> <li>2_netwerk</li> |
maar dat zou dus het onderstaande moeten zijn:
code:
1
2
3
4
5
6
7
8
9
10
11
12
| <ul> <li>1_startpagina</li> <li>2_diensten <ul> <li>1_test.php</li> <li>1_website</li> <li>2_blah.php</li> <li>2_netwerk</li> </ul> </li> ... |
Na verschillende dagen van debuggen en vloeken, had ik graag gebruik gemaakt van jullie enorme kennis.
[ Voor 1% gewijzigd door Verwijderd op 21-07-2007 11:25 . Reden: Te snel op versturen geduwd :) ]