Beste,
Jullie zullen ongetwijvelt ook wel dit probleem ook wel eens hebben gehad.
Ik ben bezig met een klein CMS met hierin een nieuws, paginas, archieven, alleen nu wil ik de hiërarchie regelen door middel van de url.
Dit is allemaal niet zo spannen maar nu wil ik dus d.m.v. alle URL segmenten alle onderdelen kunnen benaderen.
Voorbeeld
http://www.example.com/een-willekeurige-slug - Dit kan een pagina of een nieuws categorie zijn
http://www.example.com/2012/12 - Dit is het archief
http://www.example.com/2012 - Dit kan een categorie ID zijn maar ook een archief jaar
http://www.example.com/een-wil…lug/een-willekeurige-slug - Dit kan een artikel binnen een categorie zijn maar ook een pagina.
Alleen nu de vraag hoe zouden jullie dit doen?
Ik heb nu de onderstaande code waarbij er vanaf line 24 alles gecheckt moet worden etc.
.htaccess is geen optie
<?php
/**
* The controller for the posts module.
*
* @author Michael Beers <[email protected]>
* @package application
*/
class Posts extends Public_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('posts_model', 'post_model');
}
//show a single page
public function index()
{
$args_total = func_num_args();
$args = func_get_args();
if ($args_total > 0)
{
//Get any other
echo "test";
}
else
{
//Get home page
$this->data['page'] = $page = $this->post_model->limit(1)
->get_by(array('type' => 'home', 'status' => 'published'));
$this->data['posts'] = $posts = $this->post_model->limit(3)
->order_by('created_on', 'DESC')
->get_many_by(array('type' => 'post', 'status' => 'published'));
$this->data['template']->is_home = TRUE;
$this->data['template']->meta_title = ($page) ? $page->title : $this->data['template']->site_title; //site title
$this->load->view('home', $this->data);
}
}
public function error_404()
{
echo "error 404";
}
}
Toon Meer