お世話になります。
cakePHPを使ってブログアプリを作っています。
検索結果を表示するページに、ページャーをつけたいのですが、
ビューの部分で、記述した一部のソースが表示されず、原因がわからず困っています。
具体的には、下記のソースの一番下にある、この部分が表示されなかったり、
「次へ」が文字化けしたりします。
PHP
1<!-- 表示されない部分 --> 2<!-- 次へ --> 3<?php if ($total > ($limit * $page)) : ?> 4 <p><a href="/articles/search?_method=GET&q=<?= $q; ?>&page=<?= $page + 1;?>">次へ</a></p> 5<?php endif; ?> 6<!-- /次へ -->
試したことは、
・コメントアウトの削除
・ページャーの部分だけ、HTMLと混在をさせずにPHPだけで記述
以上です。
どなたか、お力を貸していただけないでしょうか。
宜しくお願い致します。
ソース全文
PHP
1<!-- File: src/Template/Articles/index.ctp (delete links added) --> 2<div class="searchMenu"> 3 <form method="get" accept-charset="utf-8" action="/articles/search"> 4 <div style="display:none;"> 5 <input type="hidden" name="_method" value="GET"> 6 </div> 7 <div class="input text required"> 8 <input type="text" name="q" maxlength="255" id="q"> 9 </div> 10 <div style="display:none;"> 11 <input type="hidden" name="page" value="1"> 12 </div> 13 <button type="submit">検索</button> 14 </form> 15</div> 16<h1><?= $q ?> の検索結果</h1> 17<?php if ($total == 0) : ?> 18<p>記事はありません</p> 19 20<?php else : ?> 21 22<table> 23 <tr> 24 <th>Id</th> 25 <th>Title</th> 26 <th>Created</th> 27 </tr> 28 29<!-- ここで $articles クエリオブジェクトをループして、投稿情報を表示 --> 30 31 <?php foreach ($articles as $article): ?> 32 <tr> 33 <td><?= $article->id ?></td> 34 <td> 35 <?= $this->Html->link($article->title, ['action' => 'view', $article->id]) ?> 36 </td> 37 <td> 38 <?= $article->created->format(DATE_RFC850) ?> 39 </td> 40 </tr> 41 <?php endforeach; ?> 42</table> 43<div> 44 <!-- 前へ --> 45 <?php if ($page >= 2) : ?> 46 <p><a href="/articles/search?_method=GET&q=<?= $q; ?>&page=<?= $page - 1;?>">前へ</a></p> 47 <?php endif; ?> 48 <!-- /前へ --> 49 50 <!-- 各ページ --> 51 <?php if ($total > $limit && $limit !== 0) : ?> 52 <?php for ($i = $selector['start']; $i <= $selector['end']; $i++) : ?> 53 <?php if ($i == $page) : ?> 54 <p class="currentPage"><a href="/articles/search?_method=GET&q=<?= $q; ?>&page=<?= $i;?>"><?= $i; ?></a></p> 55 <?php else : ?> 56 <p class="otherPage"><a href="/articles/search?_method=GET&q=<?= $q; ?>&page=<?= $i;?>"><?= $i; ?></a></p> 57 <?php endif; ?> 58 <?php endfor; ?> 59 <?php endif; ?> 60 <!-- /各ページ --> 61 62 <!-- 次へ --> 63 <?php if ($total > ($limit * $page)) : ?> 64 <p><a href="/articles/search?_method=GET&q=<?= $q; ?>&page=<?= $page + 1;?>">次へ</a></p> 65 <?php endif; ?> 66 <!-- /次へ --> 67</div> 68<?php endif; ?> 69
修正のご依頼ありがとうございます。
出力されたHTMLはこちらです。
途中から切れてしまっています。
宜しくお願い致します。
HTML
1<div> 2<!-- 前へ --> 3<p><a href="/articles/search?_method=GET&q=&page=2">前へ</a></p> 4<!-- /前へ --> 5 6<!-- 各ページ --> 7<p class="otherPage"><a href="/articles/search?_method=GET&q=&page=1">1</a></p> 8<p class="otherPage"><a href="/articles/search?_method=GET&q=&page=2">2</a></p> 9<p class="currentPage"><a href="/articles/search?_method=GET&q=&page=3">3</a></p> 10<p class="otherPage"><a href="/articles/search?_method=GET&q=&page=4">4</a></p> 11<p class="otherPage"><a href="/articles/search?_method=GET&q=&page=5">5</a></p> 12<!-- /各ページ --> 13 14<!-- 次へ --> 15<p><a href="/articles/sear
本件ですが、controller内で使用していたdebugメソッドを削除したら、正常に表示されるようになりました。CakePHPのデバッグキットがなんらかの干渉をしていたようです。
なので、本件は解決済みとさせて頂きます。
ご検証いただき有難うございました。
また宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー