Codeigniter Setting Homepage (Standard-Controller)
Ich versuche, Seitenvorlagen in meiner Codeigniter-Anwendung zu implementieren. Die Vorlage funktioniert beispielsweise einwandfrei. Ich habe eine Blog-Seite, die ich als Startseite zuweisen möchte, mit unterschiedlichen Ansichten und Seitenumbrüchen und so weiter. Wenn ich www.mywebsite.com/blog schreibe, wird es in der Homepage-Vorlage geöffnet, oder wenn ich eine Seite www.mywebsite.com/about habe, wird es auch in der Seiten-Vorlage geöffnet. Wenn ich jedoch versuche, über www.mywebsite.com auf meine Website zuzugreifen, wird eine 404-Fehlerseite angezeigt. Wie kann ich meine Blog-Seite als Homepage zuweisen?
Seitencontroller:
class Page extends Frontend_Controller {
public function __construct(){
parent::__construct();
$this->load->model('page_m');
}
public function index() {
// Fetch the page template
$this->data['page'] = $this->page_m->get_by(array('slug' => (string) $this->uri->segment(1)), TRUE);
count($this->data['page']) || show_404(current_url());
add_meta_title($this->data['page']->title);
add_meta_keyword($this->data['page']->keywords);
add_meta_description($this->data['page']->description);
// Fetch the page data
$method = '_' . $this->data['page']->template;
if (method_exists($this, $method)) {
$this->$method();
}
else {
log_message('error', 'Could not load template ' . $method .' in file ' . __FILE__ . ' at line ' . __LINE__);
}
// Load the view
$this->data['subview'] = $this->data['page']->template;
$this->load->view('_main_layout', $this->data);
}
private function _page(){ // methods }
private function _homepage(){ // methods }
}
In meinen Routen habe ich meinen Standard-Controller auf Seiten-Controller eingestellt
$route['default_controller'] = "page";