LoginSignup
1
1

More than 5 years have passed since last update.

EC-CUBE3 新規ページ作成

Last updated at Posted at 2016-11-24

EC-CUBE3にてコラム専用の新規ページ作成を行いました。その備忘録。

参考URL: http://ec-cube.github.io/guideline/plugin-pageadd

基本的には上記URLの公式ガイドを参考に実装していけばよいです。
ページ作るのもプラグインなの?!っていう驚きはありましたが...

プラグイン作成

まずはガイドに沿ってプラグインジェネレータをインストールしてプラグインを作成します。
プラグインジェネレータを使ってプラグインを作成すると必要なファイル一式がapp/Plugin/配下に作成されます。
プラグイン名:おまかせ
code:ここでのcodeがapp/Plugin/配下でディレクトリ名として使用されます。
バージョン:1.0.0でいいと思います。
作成者:おまかせ。
ローカルrubbermark   EC CUBE管理画面.png

Controllerの編集

自分の場合はcodeをBlogPageとしたので、app/Plugin/BlogPage/Controller/配下にBlogPageController.phpというものが作成されていました。
ここでテンプレート名を変更できます。
必要があれば変更してください。

テンプレートの編集

これもapp/Plugin/BlogPage/Resource配下にtemplateディレクトリが作られ、その中にindex.twigが自動で作成されています。
こちらも必要があれば変更してください。

ServiceProviderにてルーティング定義

app/Plugin/BlogPage/ServiceProvider/BlogPageServiceProvider.phpの32行目あたりに以下のような記述がありますので作成された名前に合わせて変更してください。

app/Plugin/BlogPage/ServiceProvider/BlogPageServiceProvider.php
// デフォルトはこんなのが書いてありますので環境に合わせて以下のように変更
// $app->match('/plugin/[code_name]/hello', 'Plugin\BlogPage\Controller\BlogPageController::index')->bind('plugin_BlogPage_hello');

// 独自コントローラ
$app->match('/blogpage/index', 'Plugin\BlogPage\Controller\BlogPageController::index')->bind('plugin_BlogPage_index');

dtb_page_layoutへの登録

INSERT INTO dtb_page_layout(
device_type_id,
page_name,
url,
edit_flg,
create_date,
update_date
) VALUES (
10,
'ブログページ',
'plugin_blogpage_index', 
2,
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP
);

urlカラムですが、上のServiceProviderにてbindしているurlと同じものを入力してください。

これでEC-CUBEのURL/blogpage/indexへアクセスするとちゃんとページが表示されました。
あとはControllerとテンプレートを好きにいじりたおしてください。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1