バージョン選択

フォーラム

メニュー

オンライン状況

38 人のユーザが現在オンラインです。 (32 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 38
もっと...

サイト内検索

質問 > フロント機能 > 『新着情報』ブロックの複製

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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/


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

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に登録されていないものであるとエラーになりますが、そういうことではないでしょうか。


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

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');
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,286名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.