OpenPNEから分派したMyNETSのセミナーです。簡単なカスタマイズ方法の解説が行われました。
MyNETS
google mapsを扱える。表示画像はFlashなので携帯でもみることができる。
カスタマイズの幅がOpenPNEよりも広い。
SNSの処理をするアプリケーションは「webapp」ディレクトリの中に入っている。
ライブラリ関連、モジュール関連など。
カスタマイズする一番多い方法
1.DBからデータを取得する処理部分
2.アクション処理実行部分
3.テンプレート表示部分(デザイン)
独自機能をつけたい場合は上記3つがほとんど。
アクション処理実行部分
phpファイルをさわる。
pageと書かれていれば、必ず画面に表示されるもの。
doの中では画面には表示されず、処理を行っている。DBにデータを書き込みすることが主な処理。
URLのpage_h_home
とあれば、URLのリクエストパラメータから判断している。
テンプレートでpage_h_home.tplと配置するとデザインが読み込まれる。
- カスタマイズ
- アクションクラスのファイルを詳しくみておきましょう。
- modules/pc/validation/{type}/{アクションファイル名}.iniが必要。
- 一つのリクエストで必要なファイルとして
- pageタイプ
- doタイプ
- アクションクラスでの決まり事。
- class pc_page_c_event_edit extends OpenPNR_Action
- モジュール、タイプ、アクション名をアンダースコアで連結する。
- Smartyの活用
- Smartyモジュールライブラリーを使っている。
- SmartyはPHPのコードが使えない。
- Smartyにタグを埋め込むことで対応。({t_mobile_qr viw})写真を参照
- セキュリティ
- MVCに沿って作ることで各種セキュリティ対策が行われます。
JSを埋め込んだ場合、文字が表示される。悪質なJSを動作しないようにする。
直接画面に表示させる場合は必ず下記の一行を挿入する。
htmlspresialchars()
- カスタマイズした場合
- webapp/ディレクトリのファイルを上書きしないようにする
直接カスタマイズしたファイルを上鍵更新せず、できるだけwebapp_ext/ディレクトリを活用すること。
- SVN
- ファイルに手を加えた場合の履歴を保存してくれるアプリケーションがある。
OpenPNEと同様にMyNETSのサイトでも、現在行われている開発状況や、バグの修正などがリアルタイムでわかる。
- その他
- フック(HOOK)、処理の途中で特殊な処理を実行させることができる。
xoops cubeにログインをしていれば、MyNETSにもログインしていると認証するシステムをHOOKを利用して作成したユーザーがいる。
- カスタマイズ
- データベースは必ずバックアップを取得しておくこと
- ジェネレーター
- カスタマイズする際の補助ツール。
mizunuma 3月 6th, 2009
Posted In: OSC2009