我已經爲我的投資組合下面的鏈接結構:CakePHP的視圖方法
<?php echo $this->Html->link($post['Portfolio']['title'], array('controller' => 'portfolio', 'action' => 'view', Inflector::slug($post['Portfolio']['title'])), array('title' => $post['Portfolio']['title'])); ?>
其中給出的網址,如:http://driz.co.uk/portfolio/view/Paperview_Magazine
但是如何讓我的控制器,顯示基於項目在標題上?
到目前爲止,我有這個,但一直沒能得到它的工作,只是得到了一個空白頁面(所以我還需要檢查格式是否正確以及他們是相關項目)
function view ($title)
{
$posts = $this->Portfolio->find('first', array('conditions' => array('Portfolio.title' => $title)
));
if (empty($title))
{
$this->cakeError('error404');
}
$this->set(compact('posts'));
}
這是極有可能你的'$ title'是無效的(空格,無效字符等,您應該使用URL友好蛞蝓和傳遞到你的'view'函數代替 – Ross 2011-06-12 18:55:34
來澄清 - 即使你在$ title上使用了'Inflector :: slug',你的'Portfolio.title'可能不會被當成一個slug來存儲,你需要搜索'Portfolio .slug'確保匹配! – Ross 2011-06-12 19:02:23
Okies I follow。你能告訴我如何做到這一點嗎?例如在我的數據庫中,標題將被保存爲'Paperview Magazine' – Cameron 2011-06-12 19:08:24