バージョン選択

フォーラム

メニュー

オンライン状況

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

PR

先着1,000社 プラグインダウンロード&お申込で1,000円分Amazonギフト券プレゼント amazon pay
広告掲載について

サイト内検索

質問 > フロント機能 > 【質問】DBから値を取得してソース内で使用したい。

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
minion
投稿日時: 2017/8/24 13:41
対応状況: 開発中
新米
登録日: 2017/8/17
居住地:
投稿: 3
【質問】DBから値を取得してソース内で使用したい。
[EC-CUBE] 3.0.14、新規インストール
[レンタルサーバ] エックスサーバー
[OS] macOS Sierra 10.12.4
[PHP] 7.0.18
[データベース] MySQL 5.7.17
[WEBサーバ] Apache
[ブラウザ] google chrome
[導入プラグインの有無] なし
[カスタマイズの有無] 主に項目名変更、画像サイズの変更など
[テンプレート] デフォルト
[現象]
題名の通り、カスタマイズするにあたって、dbから値を取得しif文などで使用したいのですが、記述方法がわかりません。
記述方法やどのソースを見ればわかるかなど教えていただけませんでしょうか。

よろしくお願いいたします。
468
投稿日時: 2017/8/29 13:18
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1085
Re: 【質問】DBから値を取得してソース内で使用したい。
データをDBから取り出して、画面に表示するまでの流れは、商品詳細ページが分かりやすいのではないでしょうか?

\src\Eccube\Controller\ProductController.php
\src\Eccube\Resource\template\default\Product\detail.twig

詳細は、symfony2(doctrine、twig)の理解が必要かと思いますが、
ざっくりとした流れは、商品詳細ページにアクセスした時、

http://******/products/detail/2

ProductController.php 202行目
ProductController.phpのpublic function detail($app, ,$request, $id)を呼び出し
※$idはURLの最後の2がセットされる

ProductController.php 210行目
$Product = $app['eccube.repository.product']->get($id);
※ここで$idを基にProduct関連のデータを取得

ProductController.php 315行目
return $app->render('Product/detail.twig', array(
'title' => $this->title,
'subtitle' => $Product->getName(),
'form' => $form->createView(),
'Product' => $Product,
'is_favorite' => $is_favorite,
));
ここでdetail.twigにProductという名前で$Productを渡す

detail.twig 128行目
<h3 id="detail_description_box__name" class="item_name">{{ Product.name }}</h3>
※{{ Product.name }}で商品名を表示

データベースから取り出したデータは、Entityクラスになりますので、
\src\Eccube\Entity\以下のファイルを見ていただく事になるかと思います。
$Productは、\src\Eccube\Entity\Product.phpになります。
twig上で{{ Product.name }}と記述すると、
586行目のfunction getName()が実行されます。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

minion
投稿日時: 2018/1/8 5:08
対応状況: 解決済
新米
登録日: 2017/8/17
居住地:
投稿: 3
Re: 【質問】DBから値を取得してソース内で使用したい。
標準ソースではorderやproductが取得できないページだったため、Controllerを修正して対応できました。
時間はかかりましたが、流れが見えたので大きなヒントになりました!
ものすごく丁寧に教えていただき、ありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

統計情報

総メンバー数は28,660名です
総投稿数は86,774件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1752
4
yuh
1500
5
red
1165
6
468
1085
7
umebius
1007
8
fukap
907
9
shutta
827
10
tsuji
815
11 ramrun 789
12
tao_s
651
13 karin 650
14 sumida 641
15
homan
633
16 DELIGHT 571
17
h_tanaka
508
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

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

Copyright© LOCKON CO.,LTD. All Rights Reserved.