Подскажите почему не работает такой код:
Код:
Route::set('static', '<controller>(/<name>)', array('name' => 'offline|privacy|privacy|return|sending|currency'))
->defaults(array(
'controller' => 'page',
'action' => 'get_by_name'
));
Конечная цель, чтоб адреса типа /page/offline, /page/privacy, /page/privacy и т.п. обрабатывались одним контролером
page в методе
get_by_name() через
Код:
$param = $this->request->param('name');
При переходе например по адресу /page/
offlineЦитата:
HTTP_Exception_404 [ 404 ]: The requested URL /page/offline was not found on this server.
контролер лежит по адресу
application/classes/controller/, файл зовётся
page.php, вот его содержимое:
Код:
<?php defined('SYSPATH') or die('No direct script access.');
class Controller_Page extends Controller_Common {
public function action_index()
{
$content = View::factory('/pages/show');
$this->template->content = $content;
}
public function action_get_by_name()
{
$name = $this->request->param('name');
$content = View::factory('/pages/static')
->bind('pages', $pages);
$pages = Model::factory('Page')->get_page($name);
// TODO: Придумать как правильно использовать $pages[0]['title']
$this->template->title .= ' | ' . $pages[0]['title'];
$this->template->content = $content;
}
} // End Page
С моделью всё нормально.