機能要望 > その他 > WordPress風のプラグイン機構を開発してみました |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
134 |
投稿日時: 2011/9/6 23:26
対応状況: −−−
|
一人前 ![]() ![]() 登録日: 2009/10/20 居住地: 京都市 投稿: 91 |
WordPress風のプラグイン機構を開発してみました 「134」として何度か投稿させて頂いております、
株式会社サンアットマークの日下部と申します。 早速ですが、今回、WordPress風のプラグイン機構を EC-CUBEに導入したものを作成してみましたので、 みなさまのご意見を伺いたく、投稿させていただきました。 きっかけは、頻繁に行う定番のカスタマイズも、毎回手作業で マージしなければならず、WordPressみたいに ボタンひとつで適用されたらいいのに、なんていう考えからです。 まだまだ荒削りな部分はありますが、 デモサイトとソースも公開していますので、 宜しければ一度ご覧下さい。 動作環境は、PHP5以上が必須で、DOMクラスも必須ですので、 configure で disable-dom が指定されていると動作しません。 また、現状ではWindowsには対応していません。 ●デモサイト http://w.eccplugin.dev.wps.jp/ ●デモサイト管理画面 http://w.eccplugin.dev.wps.jp/admin/ ID:admin PW:eccpdemo123 ※システム設定の中に「ECCプラグイン管理」という メニューが追加されていると思います。 こちらで、プラグインのインストール、アンインストール等の 操作が行えます。 ※自由にテストしていただいて結構ですが、 予告なく停止する可能性もあります。 ●ソース http://w.eccplugin.dev.wps.jp/ecc_plugin20110906.zip ※EC-CUBE2.11.2にプラグイン機構が組み込まれたものです ※readmeファイルに、簡単な動作原理と、サンプルプラグインの 説明を入れています 当初、公開するかも未定のまま開発をすすめていたこともあり、 動作環境の制限や、無茶をしている部分もありますが、如何でしょうか。 最終的には、何らかの形で本体に取り入れられ、便利なプラグインがどんどん開発され、 EC-CUBEの発展に貢献できれば最高ですが…。 ダメ出し、改善提案など、何でも結構ですので、 ぜひフィードバック頂きたいです。 宜しくお願い致します。 |
tanaca |
投稿日時: 2011/9/6 23:52
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2010/11/28 居住地: 福岡県 投稿: 332 |
Re: WordPress風のプラグイン機構を開発してみました 日下部 様
素晴らしいプラグイン機能を公開いただきありがとうございます。 早速の質問で恐縮ですが、 基本情報管理 > クロネコWebコレクト の画面に 【対応支払方法】 郵便振替/現金書留/銀行振込/代金引換 という4つのチェックボックスがありましたが、クロネコWebコレクトの 画面に移動してカード・電子決済されるものだと思いますので これらのチェックボックスは必要なさそうな気がするのですが どのような意味合いなのでしょうか? PS:標準機能に装備されるとかなり助かります。 |
fukap |
投稿日時: 2011/9/7 0:08
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: WordPress風のプラグイン機構を開発してみました 以前からぜひ欲しいと思っていたのが、このプラグイン機能でした。
PCのある環境に今いないのでまだ試せていませんが、試すのがとても楽しみです。 ご協力できることがありましたら、ぜひお手伝いしたいと思います。 まずは感謝の気持ちを述べさせていただきました。 |
134 |
投稿日時: 2011/9/7 10:17
対応状況: −−−
|
一人前 ![]() ![]() 登録日: 2009/10/20 居住地: 京都市 投稿: 91 |
Re: WordPress風のプラグイン機構を開発してみました >tanaca様
早速の評価ありがとうございます。 デモ環境はデフォルトのEC-CUBEに、プラグイン機構を埋め込んだだけのような 状態ですので、実際に利用する場合の設定まではされておりません。 実際には、支払方法に「クロネコWebコレクト」といった項目を追加し クロネコWebコレクトの管理画面で、「クロネコWebコレクト」に チェックをつける、といったイメージです。 4つまでの契約を設定できるようにしているのは、 Webコレクトの前身のサービスの「@ペイメント」から切り替えた場合に、 クレジットカードと、それ以外で契約が分かれるケースがあったりするのと、 予備(笑)です。 正直申しまして、プラグインはいずれもサンプルなので、 まだ実用には耐えないと思います。 >fukap様 ありがとうございます。 感謝して頂けるほどのものか、現状では自信がありませんが ![]() 開けてびっくり、中身はめちゃくちゃで見限られないことを祈るばかりです。 コミュニティ版で皆様の力をお借りしてブラッシュアップし、 最終的には標準装備されれば、と夢描いています。 |
nanasess |
投稿日時: 2011/9/7 10:34
対応状況: −−−
|
神 ![]() ![]() 登録日: 2006/9/9 居住地: 投稿: 2330 |
Re: WordPress風のプラグイン機構を開発してみました すばらしい機能をありがとうございます!
EC-CUBE 2.11 から, 完全ではないものの, 標準でプラグインの仕組みを提供しています. (一部の決済モジュールで使用しています) こちらと比べて, 利点や欠点などありましたら, ご教示いただけたら幸いです. また, Windows 対応の目処などありますでしょうか? |
tanaca |
投稿日時: 2011/9/7 11:49
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2010/11/28 居住地: 福岡県 投稿: 332 |
Re: WordPress風のプラグイン機構を開発してみました 134 様
>デモ環境はデフォルトのEC-CUBEに、プラグイン機構を埋め込んだだけのような >状態ですので、実際に利用する場合の設定まではされておりません。 >4つまでの契約を設定できるようにしているのは、 >Webコレクトの前身のサービスの「@ペイメント」から切り替えた場合に、 >クレジットカードと、それ以外で契約が分かれるケースがあったりするのと、 >予備(笑)です。 なるほどですね、理解できました。 たしかに「クロネコWebコレクト」のなかで利用するサービスの選択欄が必要ですね。 私が協力できる事は少ないですが、なるべく多くのフィードバックを投稿させていただき、 標準装備が実現されるように応援させていただきたいと思います。 今後ともどうぞ宜しくお願い致します。 |
134 |
投稿日時: 2011/9/7 15:03
対応状況: −−−
|
一人前 ![]() ![]() 登録日: 2009/10/20 居住地: 京都市 投稿: 91 |
Re: WordPress風のプラグイン機構を開発してみました nanasess様
コメントありがとうございます。 標準のプラグイン機構で実際にプラグインを作成したりはしていないのですが 標準のプラグインも拝見しており、それに刺激を受けて開発を急いだ、 というのも事実です。 斜め読みした限りでは、基本的には既存の機能に影響が無いように 新機能を追加するものと理解しています。 今回公開させて頂いたプラグイン(以下「ECCプラグイン」)は、 既存機能の上書きなど、さらに融通の利くものを、とのコンセプトです。 裏を返せば、使い方を間違うと危険な仕組みでもあります。 ●利点 ・WordPressのプラグインに近い、高い柔軟性がある ・ブロックを使用しなくても、既存の画面に要素を追加したり、削除したりすることができる ・プラグインの一時停止/再開、アップデートなどにも対応 ●欠点 ・プラグインが本体のデータ構造に依存しやすい ・前項と同様ですが、本体のちょっとしたカスタマイズや、本体とプラグインのバージョンのズレ、 プラグイン同士の相互作用で、プラグインが意図しない動きをする可能性がある ・フックポイントやAPIが揃うまでに、まだ時間がかかる ・DOMによるテンプレートの変形に、技術的な無理がある(かな?) などでしょうか。 Windows対応は、具体的に作業には着手していませんが いずれは必要かと思っています。 |
fukap |
投稿日時: 2011/9/7 17:26
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: WordPress風のプラグイン機構を開発してみました 時間ができたので、少し触らせてもらいました。
ボタン1つで、機能のON/OFFが設定できていいですね。 「特定商取引法」のサンプルプラグインを試した感じでは、 ちゃんとON/OFFも効いており、データの追加入力も出来ました。 ソースファイルを触りたくないという人は多いでしょうから、 EC-CUBEの間口を大きく広げてくれそうに思います。 個人的には以下の事柄はどうなるのかなと関心を持っています。(プラグインの類は作った経験ないですw) ・検索ボックスでプラグインを検索してインストールできるとスマートで良いが、プラグインのインストールはどのような方法で行うのか。 ・どんなコードを書けばプラグインが作成できるのか。 ・プラグイン同士の干渉などは起こらないのか。 ・プラグインのアップデートも簡単にできると素晴らしい。 ・「テンプレート再作成」のボタンは何? |
134 |
投稿日時: 2011/9/7 19:57
対応状況: −−−
|
一人前 ![]() ![]() 登録日: 2009/10/20 居住地: 京都市 投稿: 91 |
Re: WordPress風のプラグイン機構を開発してみました > ・検索ボックスでプラグインを検索してインストールできるとスマートで良いが、プラグインのインストールはどのような方法で行うのか。
/data/ecc_plugin/plugin がプラグインを格納するディレクトリになっており、 ここに投入すれば認識される(管理画面に現れる)ようになっています。 現在はFTP等でアップロードすることになりますが、 どうやって投入するかは、後付けで良いかと考えています。 私も、最終的にはWordPressのようなプラグインのリポジトリから ボタンひとつでインストールできればと思っています。 > ・どんなコードを書けばプラグインが作成できるのか。 すみません、プラグイン開発者向けのドキュメントは、まだ一切ありません。 簡単な説明があれば、何か試しに作っていただけそうですか? ![]() > ・プラグイン同士の干渉などは起こらないのか。 これはプラグインの作り次第で、あり得ます。 逆に、複数のプラグインを組み合わせることで、 動作するような実装は可能なように考えています。 例えば、「クロネコWebコレクトプラグイン」は、 「携帯でも全角カタカナ出力できるよプラグイン」を インストールしないと、携帯から正しくデータが送信できません。 > ・プラグインのアップデートも簡単にできると素晴らしい。 /data/ecc_plugin/plugin/TplAsYouLike/TplAsYouLike.php のソースを見て頂けるとお分かりいただけると思いますが、 アップデート機能は考慮しています。 各プラグインのコンストラクタで $arrUpdateRoadmap という変数に 各バージョン間で行うべきアップデートの手順を コールバック関数として設定するような仕組みです。 > ・「テンプレート再作成」のボタンは何? 既存のテンプレートに表示項目を追加するような場合、 各プラグインでの指示に基づき、テンプレートをDOMで強制的に変形し、 変形したものをキャッシュするようになっています。 キャッシュの生成は、プラグインのインストール、アンインストール、 アップデート、停止、再開のいずれかが行われたときに実行されます。 デザインのカスタマイズでテンプレートを触ったような場合は 自動的にはキャッシュが再生成されませんので、 このボタンを用意しています。 例えば、変形の指示は、前述の TplAsYouLike.php でしたら TplAsYouLike::setTemplateTransformer で指定されています。 |
fukap |
投稿日時: 2011/9/8 8:40
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: WordPress風のプラグイン機構を開発してみました ご返信ありがとうございます。
引用: すみません、プラグイン開発者向けのドキュメントは、まだ一切ありません。 作った事がないので、作れるかどうかわからないですが、トライしてみたいですね〜。 /data/ecc_plugin/plugin にプラグインのソースが見つかりましたので、 それを見ながらぼちぼち勉強させてもらおうかと思っています。 |
(1) 2 3 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |