Facebook API を利用してフレンド一覧でcoverで取得できると思ったのに。。
me/friends?fields=id,name,cover
取れなかったよ。。
で調べたらIDだけあれば取れるみたい。。
https://graph.facebook.com/[userId]/picture?type=large
2014年3月27日木曜日
2014年1月11日土曜日
CakePHP2 Shell 実行時にモデルでエラーが発生する
/app/Console/Command 内に **Shell.php ファイルを作成して
uses にモデルを追加したところで試しに
$this->out('Hello');
でも出力しようと試したところで、下記のようなエラーが発生。
Fatal error: Class 'I18n' not found in /***/***.php on line 462
Fatal Error Error: Class 'I18n' not found in [/***/***.php, line 462]
モデルの中を全てコメントアウトすると表示されなかったので、
メソッド毎に徐々にコメントアウトを解除すると、 afterFind が原因である事が判明。
誤:
public function afterFind($results) {}
正:
public function afterFind($results, $primary = false) {}
上記修正で解決。
uses にモデルを追加したところで試しに
$this->out('Hello');
でも出力しようと試したところで、下記のようなエラーが発生。
Fatal error: Class 'I18n' not found in /***/***.php on line 462
Fatal Error Error: Class 'I18n' not found in [/***/***.php, line 462]
モデルの中を全てコメントアウトすると表示されなかったので、
メソッド毎に徐々にコメントアウトを解除すると、 afterFind が原因である事が判明。
誤:
public function afterFind($results) {}
正:
public function afterFind($results, $primary = false) {}
上記修正で解決。
2013年11月22日金曜日
2013年10月8日火曜日
ZendFramework2 レイアウトを利用しない場合
Layout を利用したくない場合は下記のような感じでやるようです。
$this->layout()->clearOptions();
$this->layout()->clearVariables();
$this->layout()->clearChildren();
$this->layout()->>setTerminal(true);
とかも試してみましたがダメでした。
<?php
// TestController.php
public function listAction()
{
$viewModel = new ViewModel();
$viewModel->setTerminal(true);
$viewModel->data = 'test value';
return $viewModel;
}
?>
<?php // list.phtml <?php echo $data; ?>
$this->layout()->clearOptions();
$this->layout()->clearVariables();
$this->layout()->clearChildren();
$this->layout()->>setTerminal(true);
とかも試してみましたがダメでした。
2013年9月27日金曜日
ZendFramework2 Layoutファイルにコントローラーから値をアサインする時
layout じゃなくて中身(コンテンツ?)のテンプレートファイル(.phtml)だと、アクションの最後で
return new ViewModel(array(
'form' => $form,
'param1' => $param1,
));
でOKなんですが、これ layout の.phtmlファイルでもアサインされてると思ってたらされてないようです。。
という事でコントローラーからアサインする時には 中身 と レイアウト で別にアサインする必要があるようです。
具体的な方法はこんな感じです。
$this->layout()->param1 = $param1;
$this->layout()->param2 = $param2;
$this->layout()->setVariable('param1', $param1);
$this->layout()->setVariable('param2', $param2);
$this->layout()->setVariables(array(
'param1' => $param1,
'param2' => $param2,
));
※アクション内に記述する内容です。
登録:
投稿 (Atom)