酔っぱらいスクリプターの備忘録。よく消える(意味ねぇ
Archive for 2010年3月25日
ヨッパゲついでに小話2 Yii Framework触るぜ日記(9)
3月 25th
ビール数杯と焼酎数杯でペロンペロンです。
こんなだと女の子に嫌われるゾ!
だからって酒飲まないのは負けみたいだし強くなろうね(・∀・)
さて、酔いついでに最近貯めていたYii PHP frameworkの小話を保存する。
Model名
Model名はYiiの公式サイトでは頭文字を大文字にする事を推奨ます。
と、あるんですがコレ、推奨じゃなくて必須(?)です。
便利なリレーションのwith()で入れ子にした際に一文字目を大文字で探されます。
$posts=Post::model()->with(
'author.profile',
'author.posts',
'categories')->findAll();
こんな感じでやった際に、author.profileのprofileなんかはProfile.phpで探されます。
(この例だとpostsもPosts.phpで探します)
ワイ、途中で全部大文字にしたがな!
Yii-userエクステンション
Yii-userエクステンション便利そうなんで使ってみました。
その際の注意点を。
まず・・・action名を省略して引数を持ったURLでアクセスするとurlManagerの設定(?)によってはエラーになります。
恐らくpathに設定してたせいですが…。
考えるのも面倒だったので下記の2箇所を修正しました。
これは新規登録時とパスワード忘れた時用のメールに記載されるURLです。
RegistrationController.phpの48行目の’/user/activation’を’/user/activation/activation’に。
RecoveryControllerも変更(確か・・・コレ・・・だったよーな・・・)。
あと、typoとか翻訳ファイル(元にはないけど/messages/jのファイル)に抜けがあるんで気をつけた方がいいです。
modules/user/models/RegistrationForm.php
こちらに、「users’s」ってのがありますが、これはtypoで正解は「user’s」のハズです(翻訳ファイルもそーなってる)。
あとは翻訳ファイルに
‘Manage Profile Field’を追加
‘This users\’s email adress already exists.’を追加
‘Update’を追加
これで使える気がします。
他にもあれば教えて下さい!
俺使ってるんで!
その他
あった気がしたけど・・・アタマが回らないので。
えー、今(2010/03/25)にYii PHP Framework試すならバージョン1.1.0がオススメです。
1.1.1だとbeforeFindがマトモに動かないのでちょっと厳しいかなと思います。
1.1.2で修正予定らしいのでそれが出たらそれで。
そんな感じです。
こーゆー感じなのでグダグダな感じなのでYii Framework触るぜ日記はいつ終わるかわかりません。
だけど、これだけ書いたら今度こそリセットしたくないなーとは思いました!
いつかYiiの情報が日本語で溢れる日を夢見て、今日もあと2,3杯呑んで寝るとします(・∀・)
アクション毎にCSSとかJavaScriptを使う Yii Framework触るぜ日記(8)
3月 25th
愚痴っただけでも何なので。
このページではhoge.cssを使いたい!
とかfoo.jsを読み込みたい!
ってのがあるんですよ。
ね。
そんなときの解決方法。
protected/view/layouts/main.phpを見てみると、な~んも書いてない。
「オレ、ここで指定されたCSSとかJavaScriptはくよ!」
そんな雰囲気がまったくない。
・・・あれ~っと思いつつAPIを見てるとそれらしきもの発見。
CClientScriptがそれです。
CWebApplicationのAPIに【clientScript: manages client scripts (javascripts and CSS).】
と書かれている。
CSSって書かれるし・・・。
ダメ元で試したら、やり方は簡単でした(さすがYii!)。
Controllerの当該actionで下記のように書くだけ。
Yii::app()->getClientScript()->registerCssFile( '/css/hoge.css' );
これで書いたactionの時のみ/css/hoge.cssを読み込みます!
CClientScriptのAPIを見れば他にどんな事ができるか一目瞭然です。
layouts/main.phpには何ら特別な記述されてないのにっ! 不思議!!
ソースを読もうかと思ったけどお酒が回ってるので諦めました。
まとめ
今日のお寿司は美味しかったです(・∀・)ひゃっほーい!