gpt4 book ai didi

yii2 - 重定向到 anchor 链接

转载 作者:行者123 更新时间:2023-12-01 06:09:45 27 4
gpt4 key购买 nike

我有一个带有选项卡菜单的 View 文件“profile.php”

<ul class="nav nav-tabs">
<li class="active">
<a href="#profile" data-toggle="tab">Information</a>
</li>
<li>
<a href="#password" data-toggle="tab">Change password</a>
</li>
<li>
<a href="#account" data-toggle="tab">Delete account</a>
</li>
</ul>

<div class="tab-content">
<div class="tab-pane fade in active" id="profile">
... profile content
</div>

<div class="tab-pane fade" id="password">
... password content
</div>

<div class="tab-pane fade" id="account">
<?php $form = ActiveForm::begin([
'method' => 'post',
'action' => ['user/delete'],
]);
?>

<div class="col-lg-12">
<?php echo $form->field($model, 'delpassword')
->passwordInput(['maxlength' => true,'placeholder' => 'Password'])
->label(false)
?>
</div>

<div class="form-group">
<?php echo Html::submitButton('Delete', ['class' => 'custom-button']) ?>
</div>

<?php ActiveForm::end(); ?>
</div>
</div>

我可以通过在 url 末尾添加#tab_account 来转到帐户选项卡

在 UserController 中我有这个 Action :

public function actionDelete()
{
$id = Yii::$app->user->identity->user_id;

$model = $this->findModel($id);

$model->setscenario('delete_account');

if ($model->load(Yii::$app->request->post()) && $model->validate()) {

$model->delete();
return $this->goHome();

} else {

return $this->render('profile', [
'model' => $model,
]);
}
}

如果该帐户由于某种原因未被删除,该操作会呈现 profile.php,但会呈现在第一个选项卡 (#tab_profile) 上。我想直接重定向到帐户选项卡。我试过 return $this->refresh(#tab_account);但我最终陷入了重定向循环。

最佳答案

您可以重定向到另一个操作。例如。我假设您有 actionProfile 来呈现用户的个人资料页面和 actionDelete 来删除它。因此,在 actionDelete 中,当配置文件无法删除时,您使用 #tab_account 将用户重定向到配置文件页面。

public function actionDelete()
{
//your code for deleting
} else {

return $this->redirect(['profile', 'id' => $id, '#' => 'tab_account']);
}
}

关于yii2 - 重定向到 anchor 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31415086/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com