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」で終わらせないように注意しましょうね。
Auto Amazon Links: プロダクトが見つかりません。
2013-07-01