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にアクセスする場合、...
新しくテーブルを作ってエンティティと関連づける方法... 今回は非常に要望が多かった新しいテーブルを作ってエンティティとしてデータ取得をできるようにする方法をご紹介します。 この方法は3系のもので、まもなくリリースされるEC-CUBE4系では利用できませんのでご注意ください。 データベースの作成 ドクトリン定義ファイルの作成(dcm....
商品一覧のページネーションに「最初へ」「最後へ」を表示する方法... 商品一覧ページのページネーションはProduct/list.twigを見るとpagination.twigをインクルードすることで表示されています。 pagination.twigをのぞいて見ると「最後へ」の部分は次のようなコードが書かれています。 このリンクを表示するにはconfi...
ドクトリンで用いられるエンティティとレポジトリとは?... EC-CUBE3やEC-CUBE4で開発を行なっていると必ず耳にするのがドクトリンやエンティティ、レポジトリといったデータベース周りの用語です。 ECサイトはデータベースと密接に関係しているため、これらを用いずにEC-CUBEの開発を行うことは不可能です。 エンティティとレポジトリとは? ...