【ECCUBE3プラグイン開発】プラグインリリース時のzip圧縮の方法

プラグインをtar.gzやzip圧縮したのに、管理画面―プラグイン一覧からインストールしようとすると『config.yml not found or syntax error』が表示されてインストールできない場合があります。

同じような問題で悩んでいる方がこちらにもおりました。

開発前・開発中のプラグインであればコンソールからインストールする方法があります。


php app/console plugin:develop enable --code <対象のプラグインコード>

zip圧縮する際は、ディレクトリ構成を全選択して『送る』でzip圧縮をかけるといいです。プラグイン名の親ディレクトリを含めると解凍時に、config.ymlがプラグインディレクトリ直下に配置されず、タイトルのようなエラーとなるようです。

 

WordPressサイトで「このサイトは第三者によってハッキングされている可能性があります」が表示される場合

「このサイトは第三者によってハッキングされている可能性があります」というメッセージが表示された場合

Googleの検索結果で、あるサイトに上記のメッセージが記載されていました。先方さんも困っていたので調査を開始しました。

運用されているサイトにGoogleAnalyticsとSearchConsolを導入されていた為、原因が分かりました。まず最初にGoogleのヘルプサイトがヒットすると思います。

続きを読む

NEC無線ルータ/NEC WARPSTAR Atermが故障

長年使用していた無線WARPSTARTが壊れました。状態としては、電源入れ直しやコンセント抜き差ししても画像のような赤ランプ状態。初めはランプがついているかいないかというくらい暗く点灯していたのですが、静電気のせいかと思い、コンセント抜き差ししたらこの状態。

症状は時系列に言うと以下の通り。

  • 突然ネットに繋がらなくなり、Googleさんも見れなく・・・。
  • 事務所のBuffaloルータのリセット
  • PC Wifiの再設定

それでも繋がらなく・・・。

フレッツ光さんの黒いボックスルータから、上記Buffalo AirStation はこのNEC WARPSTARのAPとして利用していました。

なので、WARPSTARTを見てみると、最初に記述した状態になっていました。

対処方法

もう古かったので素直に機材を交換して対処しました。

 

北海道・岩倉組(現イワクラグループ)は三豊市山本町出身

先日から数日間に渡り、香川県三豊市の「山本町史」を読んでいました。平安初期~鎌倉、戦国~江戸初期、江戸後期~明治、明治~近代と時代ごとに、人物・風土・産業などに区切って長く書かれている書物でしたが、自分自身の『岩倉』に絡むところとして気になったのは、明治初期からでした。

続きを読む

【ECCUBE3プラグイン開発】イベントフックについて

こちら『EC-CUBEのプラグインを作る(3.0.9向け)』を参考に記載していきます。イベントフックはconfig.ymlでイベントクラスを定義し、event.ymlでフックとなるイベント名と関数名を登録したら、関数定義を行います。

config.yml

name: カテゴリコンテンツプラグイン
code: CategoryContent
version: 1.0.0
event: CategoryContentEvent 
event: xxxx という記載で、イベントフックされた先のクラスを指定しています。
event.yml
admin.product.category.index.initialize: 
 - [onAdminProductCategoryInit, NORMAL] 

この定義では、function onAdminProductCategoryInit(EventArgs $event) を定義する事となります。
イベントフックは引数として、『EventArgs $event』を持ちます。
この引数の中身は、dispatchコールされる直前で設定して決めているようです。
/src/Controller/各コントローラ.php の ソース内では、$app[‘eccube.event.dispatcher’]->dispatch(イベント名定義, $event) となっています。
どのようなパラメータが来るのかは、ECCUBEオリジナルの dump() を利用して実行させてパラメータ内部を表示させるか、上記dispatchコール直前の変数を確認する方法があります。

パラメータを取得する

dispatchコール直前の$event 設定部分を見ると、パラメータがkey – value 形式で格納されていることが分かります。以下の様に、keyを指定することでパラメータを取得することができます。

$parameter = $event->getArgument(‘Order’);

また、処理中に追加したいパラメータがあれば setArgument($parameter) でセットしなおしてあげます。

 

【ECCUBE3プラグイン開発】フック一覧について

2.フック一覧について

WordPressのアクションフッのようなフック機能があるそうです。実装していて思ったのがこのフック一覧がほしいと言う事。私の方で一覧を見つけたので整理してみます。ECCUBE3の内部で処理中に割り込みの為のフックを入れるには以下のようなタイミングがあるようです。どの処理のどのタイミングにフックが可能かというのは、src/Controller/各Controller のソースに記載されており、例えばCartController.phpのindex()には、FRONT_CART_INDEX_INITIALIZEとFRONT_CART_INDEX_COMPLETEが定義されています。これらの定義元がsrc/Event/EccubeEvents.phpに定義されているので、参照すると以下のようなイベント記載が可能となります。Yaml形式で定義を書きますので、スペースやインデントに注意して記載していってください。

続きを読む

【ECCUBE3プラグイン開発】開発時の備忘録

去年リリースされたらしいECCUBE3のプラグインを開発していたのでいろいろなポイントを記載しておきたく思います。

  1. プラグイン開発前に
  2. フック一覧について
  3. イベントフックについて
    1. getArguments
  4. テンプレートのフックについて
    1. getParameters
  5. ルーティングについて
  6. 画面エラーメッセージの変更や表示の仕方
  7. ページを追加する方法
  8. ルーティング・Controller・twig追加後、DBレコード追加
  9. サーバ側制御(Controller)を追加する
    1. redirect
  10. ユーザ認証判定
  11. テンプレート読み込み(renderView)
  12. Ajaxを実装する
  13. テンプレート(twig)の記載方法について
    1. ifによる分岐
    2. forによるループ
    3. コメント
    4. URLリンク
  14. カートの中身を制御する(購入品目数・個数制御)
  15. ブラック会員
  16. プラグインインストール時
    1. データベース/テーブルの作成方法
  17. プラグインリリース時のzip圧縮の方法
  18. プラグイン削除時(初期化)
  19. メールテンプレート反映
  20. メール送信方法
  21. 主なENTITY
    1. Order, Customer, app->user, Shipping

1.プラグイン開発前に

先に、参考にさせて頂いたサイトを記載しておきます。

  1. EC-CUBEのプラグインを作る(3.0.9向け)
  2. [Done]EC-CUBE3のプラグインを2日でつくる – 1日目
  3. 【ECCUBE3】3.0.9で新しくなったプラグインのフックポイント
  4. 【EC-CUBE3】プラグインを有効化した時にブロックを生成するプラグインの作り方

「1.EC-CUBEのプラグインを作る(3.0.9向け)」が一番基本的で参考になりましたが、これをそのまま実装しても動きません。リンク先記事のコメントに記載されているようにメソッドの名前を修正してあげてください。

「onFormInitializeAdminProductCategory」→「onAdminProductCategoryInit」

DB・それのDIとしてのEntity定義や、プラグインのインストール・アンインストール時のDB制御の挙動を記載できます。

event.ymlと言うファイルでWordPressのアクションフック・フィルターフックのような定義をする個所のようです。

また、CategoryContentServiceProvider.php では、参考サイトではEntityの登録しかしていませんが、URIからのルーティングコントロールをユーザ定義できるようになっているようです。

 

平成相聞歌・ペア向けに500枚限定特典付きの『UTA・PASS』カード発行

平成相聞歌の10回目記念の事業として、「UTA・PASSカード」というものが500枚限定で発行されました。宇多津町周辺の飲食店やウェディング式場・レストランなどの特典がついてくるカードです。

utapass

デザインも可愛らしく、女性向けでしょうか。カード取得の概要については、「恋人たちの歌碑巡り~幸せへのパスポート~」をご覧ください。「UTA」は宇多津の「うた」と相聞歌の「うた」を掛け合せたものだそうです。

続きを読む

WordPress4.7系のREST-API脆弱性による一部誤解について

長くなりますが、ブログ投稿が妥当そうですので。
世界的シェアをもつWordPressの今回のニュースは、国内の中小零細・大企業・官公庁サイトで何万件もの改ざん攻撃の指摘を受けています。
大きく影響を受けるのはREST APIが標準搭載されたver4.7.0/ver4.7.1です。
【ITmedia】
ITmediaさんを特定するわけではないのですが、社会的な影響度が大きいからニュースになったのでしょうが、タイトル見ると『WordPress≒セキュリティ弱い』と誤解されそうです。
『WordPress≒逆にセキュリティ対策が早い。但しシェアが大きい為社会影響が大きい。』と思ってもらった方がいいなぁ。
初版4.7.0をリリース後48hour以内に既に脆弱性をつかれ、4.7.1で対処しさらに4.7.2というところでしょうか。(リリースノート確認してません)

続きを読む