バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > フロント(twig)とphpの関係

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2017/3/24 8:45
対応状況: −−−
フロント(twig)とphpの関係
[EC-CUBE]     3.0.13
[レンタルサーバ] localPC、XAMPP
[OS]         Windows7
[PHP]         5.6.30
[データベース]     10.1.21-MariaDB - mariadb.org binary distribution
[WEBサーバ]     XAMPP Version: 5.6.30のApache
[ブラウザ]     FireFox52.0.1(32bit)

例えば、
商品一覧ページ
http://localhost/products/list
/app/template/default/Product/list.twig
に対応するphpファイルがどれになるか教えて貰えませんか?
ECCUBE-2の知識をECCUBE-3に切替(習得)したく、
まずは、基本構造から。
宜しくお願いします。
hmorita_j
投稿日時: 2017/3/24 8:58
対応状況: −−−
長老
登録日: 2017/3/3
居住地: 沈黙の巨大都市松戸
投稿: 222
Re: フロント(twig)とphpの関係
src/Eccube/ControllerProvider配下のファイルをみるとわかります。

管理画面はAdminControllerProvider.php
フロントはFrontControllerProvider.php

例えば/products/listでしたら、
$c->match('/products/list', '\Eccube\Controller\ProductController::index')->bind('product_list');

このような記述があると思いますので、対応しているphpファイルとメソッドがわかります。
hmorita_j
投稿日時: 2017/3/24 9:02
対応状況: −−−
長老
登録日: 2017/3/3
居住地: 沈黙の巨大都市松戸
投稿: 222
Re: フロント(twig)とphpの関係
http://doc.ec-cube.net/spec_directory-structure

こちらに、2系と3系の置き換え早見表なるものもありますね。
ゲスト
投稿日時: 2017/3/24 9:30
対応状況: −−−
Re: フロント(twig)とphpの関係
ありがとうございます。

概要は分かりました。

とあるページで
「$controllers->match('URLのパス', '呼び出されるコントローラークラス::呼びだされるメソッド')->bind('URL generatorなどで利用するショートカット表記'); 」
を見つけました。

『bind('URL generatorなどで利用するショートカット表記')』とはどう理解したら良いでしょうか?

また、「products」は
// products
$c->match('/products/list', '\Eccube\Controller\ProductController::index')->bind('product_list');
$c->match('/products/detail/{id}', '\Eccube\Controller\ProductController::detail')->bind('product_detail')->assert('id', '\d+');

urlが「products」←「s」が有る。
ショートカットが「product」←「s」が無い。
これは、どの様に理解すればよいでしょうか?

ECCUBE-3のコーディング規約に有るのでしたら、
規約の場所を教えて頂けませんか?

いろいろと、すみまん。
h_tanaka
投稿日時: 2017/3/24 9:32
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
Re: フロント(twig)とphpの関係
src内を「Product/list.twig」でgrep検索すればいいです。
src/Eccube/Controller/ProductController.php
がヒットします。
h_tanaka
投稿日時: 2017/3/24 9:37
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
Re: フロント(twig)とphpの関係
bindについては、twig側から呼び出したいときに使用するショートカットです。
たとえば、
$c->match('/products/list', '\Eccube\Controller\ProductController::index')->bind('product_list');
の場合、twigファイル内で
<a href="{{ url('product_list') }}">商品一覧</a>
と書けば、リンクをクリックしたときに \Eccube\Controller\ProductController.php の index() が呼ばれます。
ゲスト
投稿日時: 2017/3/24 9:38
対応状況: −−−
Re: フロント(twig)とphpの関係
hmorita_jさん、
h_tanakaさん、

おかげで、足がかりが出来ました。

ありがとうございました。

hmorita_j
投稿日時: 2017/3/24 12:11
対応状況: −−−
長老
登録日: 2017/3/3
居住地: 沈黙の巨大都市松戸
投稿: 222
Re: フロント(twig)とphpの関係
パスとクラス名とショートカットの命名規則については私も最初の頃迷いましたが、特にこれといったルールはなさそうです。
productsなのかproductなのか、気にしなくて良いと思います。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
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.