Ticket #1692 (assigned 新規開発) — at Version 14

Opened 9 years ago

Last modified 9 years ago

プラグイン機能(α版)

Reported by: h_yoshimoto Owned by: h_yoshimoto
Priority: Milestone: EC-CUBE2.12.0
Component: その他 Version: 2.12.0 α
Keywords: Cc:
修正済み: yes

Description (last modified by h_yoshimoto) (diff)

■2.12.0 α版 ダウンロード

Version 2.12.0-alpha(tar.gz)
 http://downloads.ec-cube.net/src/eccube-2.12.0-alpha.tar.gz
Version 2.12.0-alpha(zip)
 http://downloads.ec-cube.net/src/eccube-2.12.0-alpha.zip

■プラグイン機能仕様書

 http://downloads.ec-cube.net/src/manual/12.0_plugin/plugin.pdf  http://downloads.ec-cube.net/src/manual/12.0_plugin/hook_point.pdf

●プラグイン・エンジン
プラグイン機能のコア

●フックポイント
フックポイントを使ってプラグインは処理に介入します。

●トランスフォーマー(ヘルパー)
プラグインがテンプレートを変更する際に仕様するインターフェイス

以下のチケットを統合しました
#1603 #1632 #1686 #1687

Change History

comment:1 Changed 9 years ago by h_yoshimoto

  • Description modified (diff)

comment:2 Changed 9 years ago by h_yoshimoto

  • Status changed from new to assigned

comment:3 Changed 9 years ago by h_yoshimoto

  • Version changed from 2.11.4 to 2.12.0 α

comment:4 Changed 9 years ago by h_yoshimoto

  • Description modified (diff)

comment:5 Changed 9 years ago by kajiwara

  • Description modified (diff)

comment:6 follow-up: ↓ 7 Changed 9 years ago by Seasoft

動作未確認ですが、ソース査読にて lc_page_products_list_action_end が2連続実行しているように思います。

comment:7 in reply to: ↑ 6 Changed 9 years ago by h_yoshimoto

Seasoft への返信

動作未確認ですが、ソース査読にて lc_page_products_list_action_end が2連続実行しているように思います。

ありがとうございます。r21669 にて対応させて頂きました。

comment:8 Changed 9 years ago by h_yoshimoto

r21671 にて各プラグインの設定画面を呼び出し方を変更。モジュール同様に認証可否判定を通るようにしました。

comment:9 follow-up: ↓ 11 Changed 9 years ago by h_yoshimoto

プラグイン機能のクラス設計について

現状のSC_Helper_Pluginには
プラグインエンジンとしての役割(各Pageクラスで使用)と
DBからデータ取得などの役割(Pageクラス・エンジン部分で使用)
が混同しています。

そこで、エンジン部分とデータ取得部分を分離させようかと考えています。
以下の仕様で考えていますが、いかがでしょうか?

エンジン部分→SC_Helper_Plugin
データ取得部分→data/plugin/SC_Plugin.phpを作成。

ご懸念される点がございましたら、ご意見頂ければと思います。

問題無ければ進めさせて頂きます。

comment:10 Changed 9 years ago by h_yoshimoto

r21672 にてregistをregisterに変更
合わせてサンプルプラグインも修正

Changed 9 years ago by eccuore

uninstall時の処理追加、addActionでpriority追加、prefilterTransformにreplaceElementのパターンとinsertAfterのパターンを追加

comment:11 in reply to: ↑ 9 Changed 9 years ago by h_yoshimoto

h_yoshimoto への返信

プラグイン機能のクラス設計について

現状のSC_Helper_Pluginには
プラグインエンジンとしての役割(各Pageクラスで使用)と
DBからデータ取得などの役割(Pageクラス・エンジン部分で使用)
が混同しています。

そこで、エンジン部分とデータ取得部分を分離させようかと考えています。
以下の仕様で考えていますが、いかがでしょうか?

エンジン部分→SC_Helper_Plugin
データ取得部分→data/plugin/SC_Plugin.phpを作成。

ご懸念される点がございましたら、ご意見頂ければと思います。

問題無ければ進めさせて頂きます。

r21681 にて対応しました。

comment:12 Changed 9 years ago by h_yoshimoto

r21689 にてプラグインエンジンのインスタンス生成時の処理を統一

comment:13 Changed 9 years ago by h_yoshimoto

21693 r21694 にてフックポイント名を変更

comment:14 Changed 9 years ago by h_yoshimoto

  • Description modified (diff)
Note: See TracTickets for help on using tickets.