我有一个控制器(PromoCode_Controller),它是Page_Controller的扩展。当我发起一个动作时,我希望页面重定向到它所来自的页面。我现在有$this->redirectBack()
成立,但它不费一枪......Silverstripe:页面控制器重定向返回不工作
我在“config.yml”文件中定义的Page_Controller:
Page_Controller:
extensions:
- PromoCode_Controller
控制器看起来就像这样:
<?php
class PromoCode_Controller extends Extension {
private static $allowed_actions = array(
'DisplayCodes',
'DeleteCode'
);
public function DisplayCodes() {
//Display users promo codes
$arrayList = ArrayList::create();
$codes = PromoCode::get()->filter(array(
"OwnerID" => Member::currentUserID(),
));
foreach($codes as $code) {
$arrayList->push($code);
}
return $arrayList;
}
public function DeleteCode() {
$codeID = $this->owner->request->param("ID");
//if($codeID && $code = PromoCode::get()->byID($codeID)) {
// $code->delete();
//}
echo $codeID;
$this->redirectBack();
return $this;
}
}
我的模板中有一个链接,用于从数据库中删除代码。当我点击链接时,它会在空白页面上打印$ codeID变量,但它不会触发重定向。
有人可以帮助指出我要去哪里错了吗?
可能是'echo $ codeID;'防止您的重定向。由于标题已经发送。 – Darren
@Darren谢谢你的回复。刚刚删除它,仍然面临同样的问题。 – Dallby