Binnen mijn website heb ik pagina's met 1, 2 of 3 kolommen, waarvan de inhoud ten gevolge van bijvoorbeeld user input veranderd. Om een en ander beheersbaar te houden, zit ik nu te broeden op een heel eenvoudig template systeempje.
Mijn idee is om een functie te schrijven die 1, 2 of 3 kolommen print en deze vult met de goede info. Deze info wordt in 3 array's doorgegeven aan de functie. Een voorbeeld van een pagina met 2 kolommen.
Ik dacht, op deze manier kan ik heel gemakkelijk elementen toevoegen aan de kolommen, of weglaten. Ook kan ik snel een pagina van 2 naar 3 kolommen laten gaan, of juist terug. Wat vind je hiervan?
Mijn idee is om een functie te schrijven die 1, 2 of 3 kolommen print en deze vult met de goede info. Deze info wordt in 3 array's doorgegeven aan de functie. Een voorbeeld van een pagina met 2 kolommen.
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
32
33
| $number_of_cols = 2; $main[0] = '<h2>Titel van de pagina</h2>'; $main[1] = 'Dit is een ontzettend lang artikel'; $leftcol[0] = '[img]"logo.gif">'; $leftcol[1][/img]<li>Home<li>Over ons<li>...'; // bv. navigatie $leftcol[2] = get_shoutbox(); function print_page($number_of_cols, $main, $leftcol, $rightcol) { switch($num_of_cols) { case 1: // alleen "main" gedeelte, dus geen zijkolommen $output = '<table><tr><td>'; foreach ($main as $key => $value) $output.= '<p>'.$value.'</p>'; $output.= '</td></tr></table>'; break; case 2: // linker kolom en main $output = '<table><tr><td>'; foreach ($leftcol as $key => $value) $output.= '<p>'.$value.'</p>'; $output.= '</td><td>'; foreach ($main as $key => $value) $output.= '<p>'.$value.'</p>'; $output.= '</td></tr></table>'; break; // en eenzelfde manier voor 3 kolommen } } |
Ik dacht, op deze manier kan ik heel gemakkelijk elementen toevoegen aan de kolommen, of weglaten. Ook kan ik snel een pagina van 2 naar 3 kolommen laten gaan, of juist terug. Wat vind je hiervan?
[ Voor 51% gewijzigd door Reveller op 20-11-2004 15:05 ]
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."