1
我正在擴展並覆蓋createUrl方法來製作漂亮的URL。Yii覆蓋createUrl,但保留參數
這裏是一個片段:
public function createUrl($manager, $route, $params, $ampersand) {
if($route == 'widget/view'){
$widget = Widget::model()->findByPk($params['id']);
return 'widget/' . $params['id'] . '/' . SEOUrlRule::slug($widget->title);
}
}
許多事情奈何不了這裏。我刪除了不相關的部分。
它工作正常。但是,有時可能會使用附加參數(如錨標記)或GET參數來調用該方法以放置在URL的末尾。
使用我的方法,這些參數將會丟失。要在新URL中傳遞它們,是否必須重新執行原始createUrl方法手動執行的任何操作?還是有一個很好的面向對象的方式將工作傳遞給一個合格的方法?
謝謝但是這不是我想要的目的。如果需要,原始的createUrl方法會在URL末尾添加參數和錨點標記。問題是,當我返回一個手動編寫的URL(返回小部件...)時,它不會將這些添加到URL末尾 –
@nute更新以解決您的評論 – ernie