ここの情報は古いです。ご理解頂いた上でお取り扱いください。
SNS内名称設定機能の追加
■概要
OpenPNE2にあるSNS内名称設定機能をOpenPNE3に追加する。
■仕様
対応する文言
OpenPNE3 としては少なくとも以下のような文言を変更できるようにする。
OpenPNE2 と同様、アプリケーション毎に設定を分けるようにする。
- フレンド名称
- フレンド(PC)
- マイフレンド(PC)
- フレンド(携帯)
- マイフレンド(携帯)
- コミュニティ名称
- ニックネーム名称
対応する言語
現時点では日本語と英語のみを想定する。
実装内容
テンプレートから以下のように設定値を利用できるようにする。
<?php echo __('%community% are created successfully.', array(
'%community%' => $op_term['community']->fronting()->pluralize(),
));
// result: Communities are created successfully.
?>
これを実現するための実装方法を以下に示す。
- モデルのテーブルクラスに ArrayAccess インターフェースを実装し、配列のエントリとして、指定されたキーと同じ name カラムの値を持つレコードのインスタンスを返す
- モデルのレコードクラスには __toString() メソッドを定義し、国際化された value カラムの値を返すようにする
- モデルのテーブルクラスはテンプレートから $op_term という変数で参照できるようにする
- 設定ファイルで対応する名称の追加がプラグインからおこなえるようにする
- モデルのレコードクラスには、以下のような有用なメソッドを用意する。これらのメソッドはメソッドチェーンできるようにする
- fronting() : 文頭にくる語として適切な形に変換する(英語の場合、最初の文字を大文字にする)
- titleize() : 表題として用いる語として適切な形に変換する(英語の場合、すべての単語の最初の文字を大文字にする)
- pluralize() : 語を複数形にする
- withArticle() : 冠詞を付ける
Change History (20)
Milestone: |
OpenPNE3.0beta2 →
OpenPNE3.0beta3
|
Owner: |
changed from nobody to nagasawa
|
Status: |
new →
assigned
|
Milestone: |
OpenPNE3.0beta4 →
OpenPNE3.0.1
|
Milestone: |
OpenPNE3.0.1 →
OpenPNE3.0.2
|
Owner: |
changed from nagasawa to nobody
|
Status: |
assigned →
new
|
Milestone: |
→ OpenPNE3.0.3
|
Milestone: |
OpenPNE3.0.3 →
OpenPNE3.0.4
|
Milestone: |
OpenPNE3.0.4 →
OpenPNE3.0.5
|
Owner: |
changed from nobody to nagasawa
|
Status: |
new →
assigned
|
Version: |
3.0.x →
3.0.x & 3.1.x
|
Version: |
3.0.x & 3.1.x →
3.0.x
|
Milestone: |
OpenPNE3.0.5 →
OpenPNE3.0.6
|
Version: |
3.0.x →
3.0.x & 3.1.x
|
Milestone: |
OpenPNE3.0.6 →
OpenPNE3.1.3
|
Version: |
3.0.x & 3.1.x →
3.1.x
|
Description: |
modified (diff)
|
Owner: |
changed from nagasawa to ebihara
|
Status: |
assigned →
new
|
Resolution: |
→ invalid
|
Status: |
new →
closed
|
Download in other formats:
一旦未着手の状態にします。