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にアクセスする場合、...
style.cssに#contents min-height: 100vh;は必要か?... default/css/style.cssに #contents { min-height: 100vh;}という最低の高さ指定があります。 デフォルトテーマでこれを全ページに適用させている理由としては、新規ページ等でコンテンツが少ない場合に、ある程度高さがないと見た目が悪いということだと思...
Bootstrap3のクラスform-controlを取り除く方法(form_widget)... EC-CUBE3.0系ではSymfonyComponentの1つであるFormにより、Twig内では強力な関数form_widget、form_errorsが使用できます。 これらは作成したFormType(定義ファイル)に従って自動で初期データ入力やエラー処理をしてくれるというたいへん便利な...
Choiceタイプ(ラジオボタン)でNoneを消す方法... セレクトボックスやチェックボックス、ラジオボタンを簡単に生成することができるChoiceタイプは非常に強力なフォームタイプです。 ただ添付画像のようにラジオボタンを生成したときにNoneという選択肢が自動で表示されることがあります。 このNoneの消し方は意外と知られてい...

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