OpenPNE では、ニックネーム、誕生日以外のプロフィール項目のテンプレート用変数は、
項目名 = ({$profile.caption})
内容 = ({$prof.profile[$profile.name].value})
のように表現する。
$profile.name には、$profile_list を foreach した結果が入っている。
$profile_list には、「プロフィール項目一覧」画面で指定した並び順どおりにデータがセットされているので、foreach した順に({$profile.caption})と({$prof.profile[$profile.name].value})を出力していけば、プロフィールの一覧が表示される。
・・・が、画面デザインのカスタマイズをしていると、ある項目だけ別の場所に表示したくなることもある。
そんなときには、
性別:({$prof.profile[sex].value})
みたいに書きたくなるが、こんな書き方では駄目で、オブジェクトらしく、
性別:({$prof.profile.sex.value})
のように書くこと。
それだけの話。すんません。単なる備忘録です。
個人で同窓会のsnsの作成で参考にさせて頂いております。
会員一覧で各種プロフィールの一部を出そうしたのですが、
({$prof.profile.sex.value})
と記述しても表示されません。
お知恵をいただければと、ずうずうしいですがよろしくお願い致します。
すみません。ここ最近 OpenPNE は触ってないのと、この時カスタマイズしたソース一式をうちで保管してないのでうろ覚えなんですが・・・(^^;
本当にオブジェクト名は $prof であっていますか?
そのテンプレートを使用するプログラムの中で、$this->set('pof', hogehoge) みたいにセットしてる部分があると思いますが・・・例えば、プロフィールは c_member にセットしたりしてないでしょうか?
一度、ご確認ください。