EC-CUBE3系 プラグイン作成 ステップ2 再掲載


[EC‐CUBE] ブログ村キーワード

EC-CUBE3 プラグインを作成してみる ステップ2

前にアップした管理画面カラーバリエーションの切り替えプラグインを作るぜ。

ということで、次は イベント・・・

記述は

まず

config.yml

マニュアルのconfig.yml 説明
プラグイン全体の設定ファイルを記述します。
【設定項目】
●name
インストール後に表示されるプラグイン名です。(任意の文字)
●version
インストール後に表示されるバージョンです。(任意の文字)
バージョンアップ管理を行う際にご活用ください

●code
オーナーズストアがプラグインを識別するコードです。(英数字/オーナーズストア内で一意)
●event
イベントの業務処理ファイル名を記述してください。
後述の
{EventName}.php
が読み込まれます。

event項目にイヴェントで実行するファイル名(拡張子抜き)を記述する。

実際の内容

name: 管理画面カラーバリエーション
code: AdminColorVariation
version: 1.0.0
event:
AdminColorVariationEvent

で書いたEvent名.phpのファイルを用意する。

AdminColorVariationEvent.php

 

namespace Plugin\AdminColorVariation;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
//--イベントクラス
class AdminColorVariationEvent
{
    /**
    * @var \Eccube\Application
    */
    private $app;
    /** ---------------------------------
      * 関数名 __construct
      *
      * @param $app
      *
      * @return
      *
     ---------------------------------*/
    public function __construct($app)
    {
        $this->app = $app;
    }
    /** ---------------------------------
      * 関数名 onAdminRenderBefore
      *
      * @param FilterResponseEvent $event
      *
      * @return
      *
      ---------------------------------*/
    public function onAdminRenderBefore(FilterResponseEvent $event)
    {
        //引数eventから 内容を取得する
        $response = $event->getResponse();
        $html = $response->getContent();
        //内容を書き換え
        $html=''.$html.'';
        //出力オブジェクトにセット
        $response->setContent($html);
        $event->setResponse($response);
    }
}

 

event.yml

EC-CUBE 定義フックポイントイベントと、先の AdminColorVariationEvent.php の関数を結びつける

eccube.event.admin.response:
– [onAdminRenderBefore,NORMAL]

 

まとめ

config.yml event: AdminColorVariationEvent

と同じ名前で

AdminColorVariationEvent.php

を作る

event.yml

AdminColorVariationEvent.php 内の関数

を呼び出すイベント定義を書く

以上

AdminColorVariationEvent.php のクラス名は合わせる必要があるのかは不明だが、合わせたほうがいいんでしょうね。

 

※はまりポイント AdminColorVariationEvent.php を作ったけど、イベント時に関数が呼ばれない!!

なにがいけないのか?1日悩む。関数名がいけないのか?なんやかんや試したけど

まったくできず。

ふと見ると

先頭に

<?php

がない!!!(ーー;

こんな、ポカするひといないと思いますけど。気をつけてね。


 

にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です