EC-CUBE4で注文処理完了後に遷移するページを購入完了画面から別のページに変更する方法です。
今回は注文処理完了後にトップページへページ遷移するようカスタマイズしています。
サンプルコードは以下のとおりです。
<?php namespace Customize\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Annotation\Route; class ShoppingController extends \Eccube\Controller\ShoppingController { /** * 注文処理完了後に遷移するページを購入完了画面からトップページに変更 * * @Route("/shopping/checkout", name="shopping_checkout", methods={"POST"}) * @Template("Shopping/confirm.twig") * * @param Request $request * @return \Eccube\Service\PurchaseFlow\PurchaseFlowResult|RedirectResponse|\Symfony\Component\HttpFoundation\Response */ public function checkout(Request $request) { $response = parent::checkout($request); if ($response instanceof RedirectResponse) { switch ($response->getTargetUrl()) { // 注文処理時 case $this->generateUrl("shopping_complete"): // トップページへリダイレクトさせる $response->setTargetUrl($this->generateUrl("homepage")); break; } } return $response; } }