Добавьте столбец URL в вашу таблицу БД.Тогда вы можете сделать findByUrl()
.Как отмечено выше, это хорошо документировано.
function view($url = null) {
if (!$url) {
$this->Session->setFlash('Invalid url');
$this->redirect(array('action'=>'index'));
}
$this->set('something', $this->Something->findByUrl($url));
}
Вы можете создать beforeSave
методы для обработки ваших URL-адресов для уникальности и кодирования uuencoding.
Вы можете исключить необходимость указывать www.domain.com/controller/view/latest-news
, используя маршрутыкак:
Router::connect('/*', array('controller' => 'somethings', 'action' => 'view'))
Теперь www.domain.com/latest-news
вернет ту же страницу.