質問 > フロント機能 > 『新着情報』ブロックの複製 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
dee |
投稿日時: 2018/5/25 13:03
対応状況: −−−
|
新米 登録日: 2018/5/14 居住地: 投稿: 7 |
『新着情報』ブロックの複製 [EC-CUBE] EC-CUBE3.0.16
TOPページにある『新着情報』ブロックをコピーし、 同様の機能で別名の2つ目を作成したいです。 (管理画面にもコンテンツ管理 >「新着情報管理2」として追加したい) news.twig src/Eccube/Controller/Block/NewsController.php 以外に変更・複製が必要なファイル群は何になりますでしょうか。 ご教授頂けますと幸いです。 |
umebius |
投稿日時: 2018/5/25 13:16
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 『新着情報』ブロックの複製 FrontControllerProviderで下記を参考に2つ目のブロックに対応する行を追加
$c->match('/block/news', '\Eccube\Controller\Block\NewsController::index')->bind('block_news'); 後はdtb_blockテーブルに2つ目の新着ブロックのデータを追加が必要です。 参考まで https://umebius.com/eccube/add_dynamic_block_programmatically/
|
dee |
投稿日時: 2018/5/25 14:21
対応状況: −−−
|
新米 登録日: 2018/5/14 居住地: 投稿: 7 |
Re: 『新着情報』ブロックの複製 umebius様
ご回答頂きありがとうございます。 ・news.twig、NewsController.phpのコピー ・dtb_blockの logic_flgを1に変更 ・dtb_newsのコピー ・FrontControllerProvider.phpに追記 と進めております。 エラーは起きていないのですが、TOPページに配置したブロックの中身が空になってしまっている状態です。 また、管理画面の「コンテンツ管理」内へのメニューの追加は ServiceProviderファイルが必要になるのでしょうか? |
umebius |
投稿日時: 2018/5/25 14:24
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 『新着情報』ブロックの複製 「コンテンツ管理」内へのメニューの追加は、
一番簡単な方法はsrc/Eccube/Resource/config/nav.yml.distを修正する方法です。 |
dee |
投稿日時: 2018/5/25 16:44
対応状況: −−−
|
新米 登録日: 2018/5/14 居住地: 投稿: 7 |
Re: 『新着情報』ブロックの複製 umebius様
2つ目の『新着情報』ブロックが空になってしまう点は、 NewsのRepositoryとEntityをコピーすることで解消致しました。 src/Eccube/Resource/config/nav.yml.dist へ行を追加したところ エラーが発生してしまっている状態です。 管理画面のビューであるnews.twig、news_edit.twigはコピー済みなのですが、管理画面のメニューを操作しているファイルは他にあるのでしょうか? 度々の質問になってしまい申し訳ありません。。 |
umebius |
投稿日時: 2018/5/26 16:15
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 『新着情報』ブロックの複製 nav.yml.distに項目を追加した場合、
urlがControllerProviderに登録されていないものであるとエラーになりますが、そういうことではないでしょうか。
|
dee |
投稿日時: 2018/5/28 13:10
対応状況: −−−
|
新米 登録日: 2018/5/14 居住地: 投稿: 7 |
Re: 『新着情報』ブロックの複製 umebius様
src/Eccube/ControllerProvider/FrontControllerProvider.php src/Eccube/ControllerProvider/AdminControllerProvider.php src/Eccube/ServiceProvider/EccubeServiceProvider.php に項目を追記しましたが、解消されませんでした。 その他設定ファイルはありますでしょうか? |
umebius |
投稿日時: 2018/5/28 13:12
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 『新着情報』ブロックの複製 dee様
どのように記載されたか拝見することはできますでしょうか。 よろしくお願い致します。 |
dee |
投稿日時: 2018/5/28 13:35
対応状況: −−−
|
新米 登録日: 2018/5/14 居住地: 投稿: 7 |
Re: 『新着情報』ブロックの複製 お手数おかけ致します。
下記が記載になります。よろしくお願い致します。 ・nav.yml.dist - id: news name: 新着情報管理 url : admin_content_news ↓複製し、名称を2つ目のものに変更 - id: 2つ目名称 name: 2つ目名称管理 url : admin_content_2つ目名称 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ・EccubeServiseProvider.php $app['eccube.repository.news'] = $app->share(function () use ($app) { return $app['orm.em']->getRepository('Eccube\Entity\News'); }); ↓複製し、名称を2つ目のものに変更 $app['eccube.repository.2つ目名称'] = $app->share(function () use ($app) { return $app['orm.em']->getRepository('Eccube\Entity\2つ目名称'); }); ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ・FrontControllerProvider.php $c->match('/block/news', '\Eccube\Controller\Block\NewsController::index')->bind('block_news'); ↓複製し、名称を2つ目のものに変更 $c->match('/block/2つ目名称', '\Eccube\Controller\Block\2つ目名称Controller::index')->bind('block_2つ目名称'); ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ・AdminControllerProvider.php $c->match('/content/news', '\Eccube\Controller\Admin\Content\NewsController::index')->bind('admin_content_news'); $c->match('/content/news/new', '\Eccube\Controller\Admin\Content\NewsController::edit')->bind('admin_content_news_new'); $c->match('/content/news/{id}/edit', '\Eccube\Controller\Admin\Content\NewsController::edit')->assert('id', '\d+')->bind('admin_content_news_edit'); $c->delete('/content/news/{id}/delete', '\Eccube\Controller\Admin\Content\NewsController::delete')->assert('id', '\d+')->bind('admin_content_news_delete'); $c->put('/content/news/{id}/up', '\Eccube\Controller\Admin\Content\NewsController::up')->assert('id', '\d+')->bind('admin_content_news_up'); $c->put('/content/news/{id}/down', '\Eccube\Controller\Admin\Content\NewsController::down')->assert('id', '\d+')->bind('admin_content_news_down'); ↓複製し、名称を2つ目のものに変更 $c->match('/content/2つ目名称', '\Eccube\Controller\Admin\Content\2つ目名称Controller::index')->bind('admin_content_2つ目名称'); $c->match('/content/2つ目名称/new', '\Eccube\Controller\Admin\Content\2つ目名称Controller::edit')->bind('admin_content_2つ目名称_new'); $c->match('/content/2つ目名称/{id}/edit', '\Eccube\Controller\Admin\Content\2つ目名称Controller::edit')->assert('id', '\d+')->bind('admin_content_2つ目名称_edit'); $c->delete('/content/2つ目名称/{id}/delete', '\Eccube\Controller\Admin\Content\2つ目名称Controller::delete')->assert('id', '\d+')->bind('admin_content_2つ目名称_delete'); $c->put('/content/2つ目名称/{id}/up', '\Eccube\Controller\Admin\Content\2つ目名称Controller::up')->assert('id', '\d+')->bind('admin_content_2つ目名称_up'); $c->put('/content/2つ目名称/{id}/down', '\Eccube\Controller\Admin\Content\2つ目名称Controller::down')->assert('id', '\d+')->bind('admin_content_2つ目名称_down'); |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |