Strona główna Klasa do dynamicznych stron
Wpis
Anuluj

Klasa do dynamicznych stron

Klasa do dynamicznych stron

Przy okazji tworzenia CMSa do bardzo prostej (prawie statycznej, jeżeli chodzi o treść) strony musiałem wyszukać sposób na przepisanie klasy routowania adresów URL tak, aby jeden kontroler obsługiwał wszystkie dynamiczne adresy. Oczywiście pomógł wujek Google, dzieki któremu znalazłem klasę, która po lekkich przeróbkach pozwoliła mi uzyskać, to co chciałem.

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
class MY_Router extends CI_Router
{
    function _validate_segments($segments)
    {
        $excluded = array('administracja','login');
    	if (count($segments) <= 1 && !in_array($segments[0],$excluded))
        {
            if(count($segments) == 1)
            {
        		array_unshift($segments, 'main', 'page');
            }
            elseif(count($segments) == 0)
            {
            	$segments = array('main', 'page', 'mainpage');
            }
        }
        elseif($segments[0]=='administracja')
        {
        	for($i=0;$i
        	{
        		if($i==0)
        		{
        			$new_segments[] = 'admin';
        		}
        		else
        		{
        			$new_segments[] = $segments[$i];
        		}
        		$segments = $new_segments;
        	}
        }
        return parent::_validate_segments($segments);
    }
}
Ten post jest udostępniony na licencji CC BY 4.0 przez autora.

Polecane aplikacje - część 1

Funkcja parsująca stronę w poszukiwaniu url’i