プログラム初心者のcakephp2.x・wordpress情報

プログラム初心者のcakephp2.xの技術情報・wordpressやAPI関連も覚書(PHP・mySQL)

cakePHP2.xでこの機能あるのかな?ちょっとざっと調べてみた。(link prev, next タグって?)

SEOとか考えて、一覧ページなど複数のページで、一つのページを作っている場合、
head内に次のページはこのページとか、前のページはこのページとか指定したいので、
この機能作れるかなと調べてみた。

 

 ※AppHelper.php(app\View\Helper)にコレ追加すれば実現できそう。

    function getPrevNextTag(){
        $res = '';
        if(!empty($this->params['paging'])){
      $pagings = $this->params['paging'];
            foreach($pagings as $value){
                $paging = $value;
            }
            $urls = explode('/',$this->url('', true));
            array_pop($urls);
            $okurl = '';
            foreach($urls as $v){
                if(!preg_match('/page:/',$v)){
                    $okurl .= $v.'/';    
                }
            }
            if(!empty($paging['prevPage'])){
                $prev = $paging['page']-1;
                $res .= '<link rel="prev" href="'.$okurl.'page:'.$prev.'">'."\n";
            }
            
            if(!empty($paging['nextPage'])){
                $next = $paging['page']+1;
                $res .= '<link rel="next" href="'.$okurl.'page:'.$next.'">'."\n";
            }
        }
        return $res;
    }
    

呼び出しはapp\View\Layoutsで指定しているレイアウトの.ctpファイルのhead内に「echo $html->getPrevNextTag();」を追加するのみ!

なんて簡単なんだ。