EC-CUBE3 新規ページ作成
EC-CUBE3にてコラム専用の新規ページ作成を行いました。その備忘録。
参考URL: http://ec-cube.github.io/guideline/plugin-pageadd
基本的には上記URLの公式ガイドを参考に実装していけばよいです。
ページ作るのもプラグインなの?!っていう驚きはありましたが...
プラグイン作成
まずはガイドに沿ってプラグインジェネレータをインストールしてプラグインを作成します。
プラグインジェネレータを使ってプラグインを作成すると必要なファイル一式がapp/Plugin/配下に作成されます。
プラグイン名:おまかせ
code:ここでのcodeがapp/Plugin/配下でディレクトリ名として使用されます。
バージョン:1.0.0でいいと思います。
作成者:おまかせ。
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->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とテンプレートを好きにいじりたおしてください。
Author And Source
この問題について(EC-CUBE3 新規ページ作成), 我々は、より多くの情報をここで見つけました https://qiita.com/kinokonoko/items/8492be0709e9f88f4186著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .