Pull to refresh

Простое решение красивых URL в Cakephp

Reading time1 min
Views1.9K
Если Вы просматриваете какую-то запись/пост на Cake-сайте, то скорее всего адрес выглядит так:
/posts/view/5, где posts — модель, а 5 — номер id записи.
Чтобы сгенерировать такую ссылку надо прописать что-то вроде:
$html->link('CakePHP Tips', array('controller' => 'Post','action' => 'view',5));
Естественно вы не будете писать id вручную, скорее всего это будет что-то вроде:
$html->link($post['Post']['title'], array('controller' => 'Post','action' => 'view',$post['Post']['id']));

А сейчас самое интересное:

Вы можете написать дополнительный параметр, и он будет перенаправлен туда же.
То есть /posts/views/5/Cakephp-tips, ведет туда же, куда и /posts/views/5

Все! Нам больше нигде не нужно хранить Slug. Достаточно прописать его в ссылке

$html->link($post['Post']['title'], array('controller' => 'Post', 'action'=>'view', $post['Post']['id'], Inflector::slug($post['Post']['title'], '-')));
Это даст нам что-то вроде: /posts/view/5/cakephp_tips

Кросс-пост с моего блога
Tags:
Hubs:
Total votes 1: ↑0 and ↓1-1
Comments2

Articles