Pages

2012年11月29日木曜日

スッキリしないけどZF2でモジュール別にデフォルトLayoutを変える方法はこれなんだろう。。

昨日投稿したZend Framework 2でのモジュール毎にデフォルトLayoutを変更させる方法なんだけど、リファレンスに載ってた。

どうもモジュール以下のconfigはマージして利用するみたいな事だからやっぱり自分が想定してる目的とはちょっと違うみたいだな。。 でも何か気にいらないけど。。
とりあえずリファレンスに載ってる位だからこれが想定されてるんだろう。。


namespace Content;

class Module
{
    public function onBootstrap($e)
    {
        // Register a dispatch event
        $app = $e->getParam('application');
        $app->getEventManager()->attach('dispatch', array($this, 'setLayout'));
    }

    public function setLayout($e)
    {
        $matches    = $e->getRouteMatch();
        $controller = $matches->getParam('controller');
        if (false !== strpos($controller, __NAMESPACE__)) {
            // not a controller from this module
            return;
        }

        // Set the layout template
        $viewModel = $e->getViewModel();
        $viewModel->setTemplate('content/layout');
    }
}



        if (false !== strpos($controller, __NAMESPACE__)) {
ここ
        if (0 !== strpos($controller, __NAMESPACE__ . '/')) {
の方がよくないのかな。。

2012年11月28日水曜日

Module別にデフォルトLayoutを指定したいができない。。

/index と /admin などモジュール別にデフォルトLayoutを設定したいと思って、モジュール内のmodule.config.phpに

view_manager=>layout

view_manager=>template_map

を設定したが、ダメだ。。 反映されない。。
どうも/adminの方だけが読み込まれているような。。

どうやら application.config.php のmodulesの上から順番に読んで上書きされているみたい。
そんな仕様ならtemplate_mapなんかもapplication.config.php書きそうだけど。。
絶対方法が用意されてそうなんだけどな。。

template_path_stack はモジュール毎に上書きされてるみたいやのに。。

とりあえず、今は
module.config.php の 'view_manager' => 'template_map' に名前が被らないように追加
してそれをコントローラーの方で


$layout = $this->layout();
$layout->setTemplate('admin/layout/layout');

って感じで呼び出すようにした。。


本屋さん行ったけどまだZF2の書籍は出てないみたい。。
公式サイトのリファレンスも英語のみ。。

くそ~ 早く使いたい。。

2012年11月13日火曜日

Zend Framework2 の勉強を始めた

Zend Framework2 の勉強を最近始めたがどうもスムーズに進まない。。
まず日本語マニュアルが無い。。 書籍がない。。(笑)

というのはこの業界じゃよくある事なので、諦めるとしてまずはSkeleton(サンプルみたいなもの)が配布されているので、そこから勉強する事になる。

このSkeletonが自分にとってはなかなか曲者。。

Zend Framework1の時にあったQuick Start(サンプルみたいなもの)と作り方が全然違う。。
コントローラーまでの流れ(ルーター?)に変更があるのは良いとして、Validatorの記述場所などがどうもしっくりこない。。

なんでAlbum.phpに記述なんだろう。。 自分的にはFormの方がしっくり来るんだけどな。。
デコレーターの使い方もかなり変わってるみたいや。。

今月中に一通り理解できるかな。。

2012年11月2日金曜日

Windows 8 の Metro 版 IE 10 で Flash を再生させるには CV リストに登録する必要があるらしい

友達と話をしているとどうやらWindows8のメトロ版に入っているIE10ではFlashが申請を出したサイトしか見れないらしい。と聞いた。

そんなバカな事しないだろう。。 って思って調べたら
どうやら以下サイトなどを見ていると聞いた噂は本当だったようだ。。

Windows 8 の Metro 版 IE 10 で Flash を再生させるには CV リストに登録する必要があるらしい: あるSEのつぶやき:

Followers