情弱エンジニアのなかのblog

一人前のエンジニアになる為のブログです

サイトレビューサイト制作への道その9

タグ検索、メニューを作る

1.枠とボタンを配置

2.特定のサイトだけ表示

3.まとめ

1.枠とボタンを配置

今回はメニューを作ってカテゴリーごとに表示させられるようにしていきたいと思います。

まず「View」「index」で枠とボタンを作ります。

<div class="sites index col-md-2">
            <!--            <div class="list-group">
                            <a href="#" class="list-group-item active">PHP</a>
                            <a href="#" class="list-group-item">cakePHP</a>
                            <a href="#" class="list-group-item">Git</a>
                            <a href="#" class="list-group-item">CSS</a>
                            <a href="#" class="list-group-item">Bootstrap</a>
                        </div>-->

            <div class="panel panel-default">
                <div class="panel-heading">カテゴリー</div>
                
                <div class="panel-body">
                    <a class="btn btn-default" href="http://localhost/sites/webs" role="button">ALL</a>
                </div>
                <div class="panel-body">
                    <?php echo $this->Html->link(__('PHP'), array('action' => 'index', 1),array('class' => "btn btn-primary")); ?>
                </div>
                <div class="panel-body">
                    <?php echo $this->Html->link(__('cakePHP'), array('action' => 'index', 2),array('class' => "btn btn-primary")); ?>
                </div>
                <div class="panel-body">
                    <?php echo $this->Html->link(__('Git'), array('action' => 'index', 3),array('class' => "btn btn-primary")); ?>
                </div>
                <div class="panel-body">
                    <?php echo $this->Html->link(__('CSS'), array('action' => 'index', 4),array('class' => "btn btn-primary")); ?>
                </div>
                <div class="panel-body">
                    <?php echo $this->Html->link(__('Bootstrap'), array('action' => 'index', 5),array('class' => "btn btn-primary")); ?>
                </div>
            </div>

        </div>

これで枠とボタンを配置出来ます。 f:id:nonaka-katuma-hal:20160822175036j:plain

2.特定のサイトだけ表示

次に「WebsController」「index」を編集していきます。

   public function index($search = null) {
        //$this->Site->recursive = 0;
        //$this->set('sites', $this->Paginator->paginate());
        $this->layout = 'user';
        if($search == null)
        {
            $result = $this->Site->find('all', array());
        }
        else
        {
           $result = $this->Site->find('all', array('conditions' => array('OR'=> array('Site.cat_id1' => $search , 'Site.cat_id2' => $search , 'Site.cat_id3' => $search , 'Site.cat_id4' => $search , 'Site.cat_id5' => $search))));
        }

先ほどのカテゴリーの数値を読み取り該当するサイトのみ表示するようにしました。 f:id:nonaka-katuma-hal:20160822175542j:plain 該当するサイトのみの表示となりました。

3.まとめ

さあこれで見た目はしょぼいですが、サイト的には必要な処理がそろってきました。

これからは細かいとこまで目を向けて制作をしていこうと思います。