バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

 > プラグイン > プラグインで作成した新規ページのテンプレートの探索について

プラグイン

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2016/8/10 11:16
対応状況: −−−
プラグインで作成した新規ページのテンプレートの探索について
eccube3を触り始めたばかりなので、認識が間違っていたらすみません。
参考サイト: http://ec-cube.github.io/template.html



$ cat ./app/Plugin/Hoge/Controller/HogeController.php
class HogeController
{
    public function hoge(Application $app)
    {
        return $app['view']->render(
            ‘Hoge/hoge.twig'
        );
    }
}


テンプレート
./app/Plugin/Hoge/Resource/template/Hoge/hoge.twig



dtb_page_layout
 page_id | device_type_id | page_name |   url    | file_name | edit_flg | author | description | keyword | update_url |     create_date     |     update_date     | meta_robots 
---------+----------------+-----------+----------+-----------+----------+--------+-------------+---------+------------+---------------------+---------------------+-------------
      50 |             10 | HOGE       | hoge_hoge | Hoge/hoge  |        2 |        |             |         |            | 2016-08-09 10:33:41 | 2016-08-10 09:23:00 | noindex




この場合、./app/template/default/Hoge/hoge.twig を設置しない限り、
フロント側の表示、管理画面のページ編集時の読み込みがされない。

参考サイトを見る限り探索する仕様と思うのですが…
./src/Eccube/Repository/PageLayoutRepository.php の getReadTemplateFile(…)で、
プラグインのディレクトリが考慮されたいない為のように思うのでがどうでしょうか?



因みに、公開されているプラグインの中には、pathやfile_nameを以下のように./Plugin/以下を指定されているのを見かけます。
Hoge/Resource/template/Hoge/hoge.twig


この場合、表示はするのですが以下の2点の不具合が起きると思います。
・管理画面からページ編集しようとするとファイル名の長さチェックでエラーになる。
 例)/{{eccubeインストールディレクトリまでのパス}}/app/template/default/../../Plugin/Hoge/Resource/template/Hoge/hoge.twig
・仮に編集できたとしても、プラグイン本体のテンプレートを編集するため、プラグインのアップデートで上書きされてしまう。



環境は以下の通りです。
CentOS 7.2
ECCUBE 3.0.10
PHP 7.0.7
PostgreSQL 9.5.3
shhirose
投稿日時: 2016/8/14 9:23
対応状況: −−−
一人前
登録日: 2014/4/24
居住地:
投稿: 94
Re: プラグインで作成した新規ページのテンプレートの探索について
その認識で問題ありません。


私はフロント画面をプラグインで実装する場合は、プラグインインストール時に app/template/default/ に 対象の twig ファイルをコピーし、ページは削除不可としています。
もちろん、Controller では app/template/default/ からのパスを指定しています。

※管理画面の場合は編集は行わないので、app/Plugin/ からのパスを指定します。


----------------
株式会社ジインズ

パートナーページ http://www.ec-cube.net/integrate/partner/partner.php?partner_id=1325
会社URL http://www.jins.co.jp

ゲスト
投稿日時: 2016/8/16 9:31
対応状況: −−−
Re: プラグインで作成した新規ページのテンプレートの探索について
shhirose様

ご返信ありがとうございます。

引用:
app/template/default/ に 対象の twig ファイルをコピー

やはり、フロント側はコピーで対応されているのですね。

フロント側の新規ページ実装時のurlを任意のもの(/user_data/…以外)にし、
それをプラグインによる実装を考えたのですが、管理画面>ページ管理からの編集で引っかかった次第です。

Controller に app/template/default/ からのパスを指定することで、
app/Plugin/[plugin_code]/Resource/template/ も探索する仕様と思ったのですが、
ソースを読む限り、現状は違うということですね。
shhirose
投稿日時: 2016/8/16 10:57
対応状況: −−−
一人前
登録日: 2014/4/24
居住地:
投稿: 94
Re: プラグインで作成した新規ページのテンプレートの探索について
引用:

Controller に app/template/default/ からのパスを指定することで、
app/Plugin/[plugin_code]/Resource/template/ も探索する仕様と思ったのですが、
ソースを読む限り、現状は違うということですね。



プラグイン側は、app/Plugin からのパスになるので、どうしても乖離が発生してしまいますね。


----------------
株式会社ジインズ

パートナーページ http://www.ec-cube.net/integrate/partner/partner.php?partner_id=1325
会社URL http://www.jins.co.jp

ゲスト
投稿日時: 2016/8/16 14:42
対応状況: 解決済
Re: プラグインで作成した新規ページのテンプレートの探索について
shhirose様


プラグイン開発の参考にさせて頂きます。
ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1283
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.