Page_Controllerの拡張機能であるコントローラ(PromoCode_Controller)があります。私がアクションを起こすと、そのページが元のページにリダイレクトされるようにしたいと思います。私は現在、$this->redirectBack()
がセットアップされているが、それは私がPage_Controllerが私の 'config.yml' ファイルに定義されている...Silverstripe: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;
}
}
DBからコードを削除するリンクがテンプレートにあります。リンクをクリックすると、$ codeID変数が空白ページに表示されますが、リダイレクトは実行されません。
私が間違っている場所を誰かが指摘することができますか?
おそらく 'echo $ codeID;'はあなたのリダイレクトを防ぎます。ヘッダーは既に送信されているため。 – Darren
@ダーレンは返信をありがとう。ただそこでそれを取り除いて、同じ問題に直面しています。 – Dallby