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