我正在尝试重定向并转到新页面上的特定元素,如下所示:
http://192.168.0.49/x/y/index.php/admin/user/update/id/3#certificate
$this->redirect(array('update', 'id' => $certificate->user_id));
如何才能做到这一点?
您可以简单地创建没有片段部分的 url,然后手动附加它:
$url = Yii::app()->createUrl('update', ['id' => $certificate->user_id]);
$url .= "#certificate";
$this->redirect($url);
此代码的工作方式在阅读代码时立即显而易见。除此之外,还有 Yii 特有的解决方案:(CUrlManager
负责构建 URL 的组件)也可以识别#
为参数。所以你可以写:
$url = Yii::app()->createUrl(
'update',
['id' => $certificate->user_id, '#' => 'certificate']
);
这不能使用redirect
. 解决方法是
$url = Yii::app()->createUrl('update', array('id' => $certificate->user_id, '#' => "certificate"));
$this->redirect($url);