我想在cakephp中自定义我的网址
http://localhost/cantq4tickets/events/event_detail/1
在URL中而不是1(event_id)我想要事件名称ex。生日聚会。
答案 0 :(得分:0)
您在Routing
之后,这使您可以灵活地设置网址。我建议先阅读Cookbook,然后再讨论其中一些例子:http://lecterror.com/articles/view/advanced-routing-with-cakephp-one-example
答案 1 :(得分:0)
在您的事件数据库表中添加字段'slug'VARCHAR(255)
在您的活动模型中添加保存方法之前:
public function beforeSave($options = array()) {
parent::beforeSave();
$name_to_slug = Inflector::slug($this->data['Event']['name'], $replacement = '-');
$this->data['Event']['slug'] = strtolower($name_to_slug);
return true;
}
在路由器中
Router::connect('/events/*', array('controller' => 'events', 'action' => 'details'));
您的观点中的链接:
<?php echo $this->Html->link($event['Event']['name'],array('controller'=>'events','action'=>'details',$event['Event']['slug'])); ?>
您的EventsController中的:: details($ slug = null) findBySlug