EC-CUBEの話(2) マスターデータを利用したお問い合わせフォーム

こんな使い方!

お問い合わせフォームの項目で、項目内容の変更が頻繁にある場合など、いちいちソースを書き換えるのは面倒くさいです。
そんなときは、マスターデータに登録してしまいしょう。

例)セミナーの申し込みなどは、申し込み日が過ぎると次回の申し込みフォームに流用するこもあり、日程などの書き換えはマスターデータでできるようにしちゃう。


改修するファイル

1. マスターデータのテーブルにデータの追加
2. phpファイルの改修
3. テンプレートファイルの改修 PC版の入力ページ/確認ページ SMP版の入力ページ/確認ページ
4. メールテンプレートの改修
5. テストをして動作の確認をする


マスターデータにテーブルの新規追加

簡単なやり方な場合は、mtb_jobs の定義だけを拝借して、コピー。
今回は、contact_day というテーブル名で追加します。

この時点で、管理画面の
システム設定>マスターデータ管理 のプルダウン項目に contact_day というのが表示されます。
中をみても、データ自体は、まだ入力してないので、空です。
IDと値を入れていきましょう。

完成の図!
マスターデータ追加


phpファイルの改修

/data/class/pages/contact_entry/LC_Page_Contact.php
まずは、マスターデータの読みこみを

$objFormParam->addParamに
入力フォームのチェックを追加

ひとまずPHPはこれでOK


テンプレートファイルの改修

入力画面

基本的に今回はPC版だけです。
/Smarty/defult/contact/index.tpl
に追加します。

今回は、セレクトボックスでもなく、ラジオボタンでもなく、一番苦手な、チェックボックスで表示します。
※カスタマイズするときによく使う技!デバックを出す方法

これをテンプレートの一番上に記述しておきます。
そうすると、Debug文が表示されて現在のmtb_contact_day の値が表示されます。

マスターデータの項目を表示されるソース

表示の図
マスターデータ追加時のフロント側入力ページ

確認画面

/Smarty/defult/contact/confirm.tpl

入力画面で入力した項目を今度は表示させます。


メールのTPLに表示

お問い合わせフォームのメールテンプレートに新しく追加した項目を表示

これで、メールテンプレートにも表示がされます。


まとめ

これで無事に設定は完了です。
更新頻度が高い場合は、ぜひマスターデータに情報を登録して、管理画面上から簡単に更新できるようにすることができるのもEC-CUBEの魅力です。
みなさんもぜひやってみてください。

EC-CUBEの話(1) Feedを使わずにWordPressの記事をブロックに表示

久しぶりにEC-CUBEの話を。
まず、弊社株式会社Refineは、インテグレートパートナー「ブロンズ」なのです。一応ねw

さて、今回は、プラグインを使わずに、さらにgoogle feed を使わずに、サイト内のwordpressのブログをブロックに表示する方法を。。。

EC-CUBE でプラグインを使わない理由。。。
何かと干渉しあって、予期せぬ動きが激しいから。

Google Feedを使わない理由。。。
自由度がきかないので。。。

というわけで、EC-CUBE の管理画面からBlocを新規で作成していただき、Wordpressのブログを表示するPHPをそのまま記載するというなんとも簡単なやり方です。
以下のソースは、弊社クライアントで実際に動かしてるサイトのソースの一部です。

このような感じです。
全環境で動くかチェックしてないのでわからないのですが、弊社での正常動作の環境は

  • PHP5.3以上であること
  • EC-CUBE とWordpressが同じサーバ内にあること
  • DBがECCUBEとWordpressで場所にあること

という感じです。

応用すればもっといろいろ出来るとおもいますので、やってみてください。

よく使うコマンド一覧

デザイナーでもコーダーでもSSHでの操作はよく分からないからと言って、避けていると、無駄な時間を多く過ごすことになります。

最近は、VPSサーバやクラウドサーバなどで、SSHの利用できるサーバが多くあります。
ということで、よく使うコマンド一覧を。。。。

ディレクトリに移動する

移動した階層を戻る

移動したディレクトリの中を見る

-lah を入れるとファイル/フォルダ情報が見れる

ファイル/フォルダを移動する

-v オプションを付けると,ディレクトリの移動状況が逐次表示される。表示は「移動元->移動先」

ファイルの中身を確認する

ファイルを編集する nano版

コマンド上に、操作するショートカットがでるのでそれを利用

ファイルを編集する vi版

i を押して、insertモードにする
保存して終了したいときは

viエディタはむずかしいので基本的にはnanoを個人的には使ってます。

ディレクトリのバックアップをZipにする

これで、zipで保存されます。

フォルダとファイルを削除する

-r 再帰的に
-i 確認画面あり yes でエンター
-f 確認画面なし

個人的には、確認画面を出すようにしてます。怖いのでw

WordPress All-In-One Event Calendar pluginのバージョンアップにおけるイベント一覧の取得方法

WordPressのAll-In-One Event Calendarは、なかなか便利なプラグインです。
しかしながら、ちょっとカスタマイズするには難しい。

ドキュメントも国内のは少ない。
しかもver2系になってから、
$ai1ec_calendar_helper のクラスの利用がなくなった。。。。

イベントの一覧を取得したいとき、以前のバーションでは

上記の記述で取得できましたが、ver2系では、$ai1ec_calendar_helper 自体が存在しないので、

この書き方をすると無事に一覧で表示させることができました。

WordPressのTwenty Eleven以降のトップページのカスタマイズ

WordPressのTwenty Eleven以降のテーマで、ブログを構築する際に、TOPページにブログ記事が全文出てしまい、とても長くなってしまいます。
そこで、一部だけを表示させる方法を伝授。(みんな知ってますよね。。。メモです。)

content.php の27行目あたり

if ( is_search …. のところに、
is_home() || を追加

実際に追加した際のソースは以下▼▼▼

これですっきり、短くなります。