EC-CUBE:Ajax処理等で通常ページ出力をしたくない場合は?

EC-CUBEカスタマイズで独自にAjax処理などの通常ページ出力と異なるアクションで終わりたい時がありますが、この場合どのようにすれば良いでしょうか。

独自処理後に「SC_Response_Ex::actionExit()」

例えば、EC-CUBEの管理画面に帳票をPDFで出力する機能がありますが、どういった処理が施されているかというと…

/**
* Page のアクション.
*
* @return void
*/
function action() {
...(中略)...
switch ($this->getMode()) {
case 'confirm':
$status = $this->createPdf($this->objFormParam);
if ($status === true) {
SC_Response_Ex::actionExit();
}

こんな感じで独自処理(PDFファイル作成処理)が行われた後、「SC_Response_Ex::actionExit();」が呼ばれています。

すると、これ以降は処理が行われずページ出力も行われません。 また、ちゃんとローカルフックポイントも呼ばれるので、プラグインにも悪影響を及ぼしません。

勝手に「Exit」で終わらせないように注意しましょうね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

2013-07-01