【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というところでしょうか。(リリースノート確認してません)

続きを読む

VAIOノートFit13A(SVF13N1A1J)のファンから異音を修復

半年程前にVAIO Fit13Aから異音がするようになりました。それも我慢できないくらい酷い!

症状としては、起動後『カラ…カラカラ…カラ…』という具合なのですが、ちょっとした振動やキーボードを打っている途中で

『カラ…カラカラ…ガラ!!…ガラガラガラガラガラガラ!!!!!ガガガガガガGAGAGAGAGA

と言う状態。

分解して、中を明けてみるとどうやらファンの音でした。分解は自責でお願いします。

参考までに他に分解されている方のサイトをリンクしておきます。

結局ファンを中国から買って交換をしたのですが、以下に箇条書きで作業内容記載しておきます。

用意するもの

  • 代わりのVAIO Fit13a用のファン
  • グリス
  • ドライバー
  • VAIOを開ける

Fit13aを開けます。ひっくり返して、すぐ見えるネジとそのほかに、滑り止めとなっているラバーが粘着テープで付いているので、これを外すと隠れたネジが見えてきます。

これらを外したのち、マイナスドライバーなどを使って丁寧に裏カバーを外します。

ファンを外す

次にファンのネジを外していきます。ファンからCPUにかけて(CPUの熱を逃がす為)に金属部品がついています。これも一緒に外します。

新しいファンを付ける前にCPU部分にグリスを塗り直し、ファンを取り付けて、裏カバーをはめれば対処終わりです。

img00396

 

 

 

 

 

高知県の秘境…本山町にあるITサテライトオフィス

高知県が『高知家』としての一環で企業誘致の場所として廃校になった施設を改装してサテライトオフィスとしているそうです。

特に本山町は、山陽線の岡山から高知に入って最初の大豊ICから車で10分程度にあるサテライトオフィスとなります。

改装されたばかりのせいもあり、木の香りがしみわたって快適そうな場所です。ただし夜は真っ暗&野生の鳥獣がいますので一人では心細くなりそうです。
公式HPの住所ですと、川沿いでなく少し山に入ったところとなっていますが、実際は川沿いにあります。
位置情報がずれるので以下にGoogleMapで場所を以下に記します。

オフィスには、都市部で活躍しているIT企業が入居していたりします。

Excel関数を使って、和暦年月日をシリアル値変換

久しぶりにExcel関数を使用しました。日付の和暦⇒西暦変換には『昭和xx』『平成xx』などからの変換はよく記事を見ましたが、今回は『H20』『S45』などの和暦頭文字で表記されている場合の日付の妥当性について関数を作成したので記載します。

和暦文字列⇒年月日へ変換する
I2,J2,K2のセルがそれぞれ以下のように和暦年、月、日で入力されており、これらの年月日の妥当性をチェックしたい場合。
H20|02|11

=IF(I2&J2&K2=””,0,DATEVALUE(IFERROR(CHOOSE(CODE(ASC(MID(I2,1,1)))-82,”昭和”,”大正”),”平成”) & MID(I2,2,2) &”年”&J2&”月”&K2&”日”))

  • IF() 初めに空文字チェック
  • DATEVALUE() 日付をシリアル値に変換する。できない場合は#VALUEが表示される。

頭文字1文字(T,S,H)で和暦判断だけする関数

=IFERROR(CHOOSE(CODE(ASC(MID(L2,1,1)))-82,”昭和”,”大正”),”平成”)

  • ASC(MID(L2,1,1)) 1文字取得し、ASCII文字に変換(全角アルファベットを半角に)
  • CODE(),IFERROR() ASCIIの値、S(83),T(84)からインデックスを求め、和暦判断させる。当てはまらない場合(つまり’H’の時)はIFERRORにて判断しERRORの”平成”を表示させる。

 

NPO法人向けに『Google Apps for Nonprofits(無料グループウェア)』を導入してみる

先日教育機関へGoogleApps for Educationを導入すると言う事で、記事を書かせてもらいました。

今度は、NPO法人向けにある『GoogleApps for Nonprofits

Google Apps for Nonprofitsとは

非営利団体や公益法人へGoogle社がグループウェアやクラウドドライブサービスの提供をしてくれます。

以下、Google for Nonprofitsより抜粋

非営利団体向けプログラムでは、非営利団体向けに Google のツール(Gmail、Google カレンダー、Google ドライブ、Google Ad Grants、非営利団体向け YouTube など)を無料で提供しています。新しい資金提供者やボランティアを募ったり、作業の効率を高めたり、非営利団体の理念や活動内容を伝えたりするために、これらのツールを活用してください。

Google for Nonprofitsを利用するには、NPO法人の登記と実態の活動実績が必要です。それと以下団体への登録が前提となります。

  • Techsoup Japan (NPO・公益法人向けにMicrosoftやAdobeが支援してくれる団体)
  • NPO広場(Techsoupと連携してNPO法人の登録管理している団体)

Google for Nonprofits の利用資格として、TechsoupJapanで取得できる確認トークンが必要になります。

  1. TechsoupJapanへの登録手続きとして登記謄本が必要になります。
  2. TechsoupJapanに法人登録後は、過去の事業収入・支出を記入、窓口担当者・事務員数など組織の詳細構成や活動実績を記載していきます。
  3. その後、GoogleApps for Nonprofitsを利用申請できます。

先に独自ドメインでメール運用していないとスムーズにいかない

通常は上記3つの手順でうまくいくようです。今回は以下理由でスムーズに手順が進みませんでした。

  • メールが元々のISPからもらっているデフォルトのアドレス(xxxx@tikixx.ocn.ne.jp)しかなかった。
  • 独自ドメインによるWebはあるが、メールサーバは管理していない。(WebはAmebaOwndを利用していた)。

状態としては、GoogleApps for nonprofits申込み時はGmail(@gmail.com)による登録が必要でした。このアカウントがGoogleAppsの管理者となるようです。

次に、WebサイトのドメインでGoogleアカウントを作成する必要がありますが、上記記載の通りメールアカウント・サーバは管理していない為、Googleアカウント作成時のメールによる認証が出来ない状態でした。

『さて・・・どうしよう。』という事で、sakuraのメールサーバを一時的に利用することにしました。『一時的』と記載したのは、Appsへの設定が終わったらこのWebで使用しているドメインのMXレコードはGmailへ移行するので必要がなくなる為です。

さくらドメイン+AmebaOwndをさくらメールサーバ、さくらドメイン+AmebaOwndに変更する手順

いろいろ勉強になりましたが・・・。これはなかなかわからなかった。

次に、Webのドメイン設定についてですが、こちらはsakuraドメインにて管理しており、wwwをサブドメインとしてCNAMEにてエイリアスをAmebaOwndへ向けています。
さくらで取ったドメインで独自ドメインを利用する ← こちらを参考にすると「さくらドメイン+AmebaOwnd」の設定の解説が記載されています。)

続きを読む