EC-CUBE3のページは一般的にコントローラとテンプレートが対となっています。
管理画面で新規画面を作成するには、コントローラとテンプレートを作成し、URLとコントローラの紐付け(ルーティング)を指定する必要があります。
コントローラの最後では$app->render()メソッドにより、どのテンプレートファイルを使用するかを決定してブラウザへ表示します。

(例)商品登録ページ
URL: /admin/product/product/new
既存コントローラ: src/Eccube/Controller/Admin/Product/ProductController.php
既存テンプレート: src/Eccube/Controller/Admin/Product/ProductController.php または app/template/Admin/Product/product.twig

今回は/admin/new_menu/new_page.phpというURLで管理画面に新規画面を追加してみます。
URL: /admin/new_menu/new_page.php
新規コントローラ: src/Eccube/Controller/Admin/NewMenu/NewPageController.php
新規テンプレート: app/template/Admin/NewMenu/new_page.twig

1. ルーティングの指定

src/Eccube/ControllerProvider/AdminControllerProvider.php

既存のAdminControllerProviderへ次のコードを追加し、URLへアクセスがあった場合にどのコントローラを使用するか指定します。

2. コントローラの作成

src/Eccube/Controller/Admin/NewMenu/NewPageController.php
他のコントローラを参考に、コントローラを新規作成します。
テンプレートは3で作成する新規テンプレートをrenderするようにします。

3. テンプレートの作成

app/template/Admin/NewMenu/new_page.twig
他のテンプレートを参考に、コントローラを新規作成します。2で作成したコントローラから渡された変数が使用可能です。

4. メニューへ表示

src/Eccube/Resource/config/nav.yml.dist
nav.yml.distを編集して管理画面のサイドバーへ新規メニューを追加します。

以上の手順を踏めば管理画面で新規ページを追加しメニューへ表示することが可能です。
その後、ページ特有のロジックを組むのがまた大変ではありますが、挙動が似た既存のページを参考にプログラム作成してみてください。

関連するカスタマイズ

Method not allowed / No route found for …エラー... EC-CUBE3でたまに確認されるエラー、Method not allowed エラーについて説明します。Whoops, looks like something went wrong.と怒られてしまった場合は、このエラーのことを思い出して見てください。 EC-CUBEにアクセスする場合、...
注文確認画面のお届け日を変更する方法... 結論 : ShoppingServiceのgetFormDeliveryDates()を確認する。 config.ymlでdeliv_date_end_maxを設定すると表示される選択肢の日数を変更できる。 注文時に選択可能なお届け日を調整する方法をご紹介します。 この選択可能な日付のリス...
Nginxでのリライトと高速化設定 NginxでEC-CUBE3系を動作させる場合の設定について、ご紹介します。 NginxではApacheと異なり標準で用意された.htaccessが動作しないため、nginx.confへリライト設定を記述する必要があります。 サーバー上のコマンドで設定ファイルを編集します。 sudo ...
GMO Paymentカード決済プラグインでエラー... 開発環境などにEC-CUBEペイメントプラグイン(GMO Paymentカード決済)を導入すると、決済やクレジットカード登録の際にCurlMulti.phpのServer aborted the SSL handshakeエラーが出ることがあります。 CurlException in Cu...

弊社はEC-CUBE公式インテグレートパートナーです。

カスタマイズやプラグイン開発お任せください