我有一個控制器(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