當設定為顯示的最新消息超過五筆時會在首頁出現 More...
的連結,並導引使用者跳轉到 index.php?do=news
頁面。
列出最新消息筆數的做法和首頁是一樣的,只是這邊有要求一頁五筆,且需有分頁的功能,因此我們在類別中建立一個新方法 morenews() 用來輸出最新消息分頁需要的html碼。
原本的版型檔案中也有附一段js的程式是用來顯示更多最新消息的彈出視窗的,原理和首頁的程式碼幾乎一樣,只是加上了垂直位置的變化而已,我們直接套用該程式就可以了,不用另外自己寫程式。
NEWS-前台更多最新消息顯示區
/Controller/News.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| function moreNews(){
$rows=$this->paginate(5,['sh'=>1]);
$start=$this->links['start']+1; echo "<ol start='$start'>"; foreach($rows as $row){ echo "<li class='sswww'>"; echo mb_substr($row['text'],0,20); echo "<span class='all' style='display:none'>"; echo $row['text']; echo "</span>"; echo "</li>"; } echo "</ol>"; echo "<div class='cent'>";
echo $this->links(); echo "</div>"; }
|
/view/front/news.php
1 2 3 4 5 6
| <!--正中央--> <h3 class="cent">更多最新消息內容</h3> <hr> <!--執行物件中的moreNews()方法,輸出更多消息的列表及分頁連結--> <?=$News->moreNews();?>
|
如果發現滑鼠移到最新消息上沒有彈出視窗時,
在 index.php 或 backend.php 找找是否有下列的js程式碼片段,複製到 /view/front/news.php 的html碼下方即可
彈出視窗程式碼片段
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <div id="alt" style="position: absolute; width: 350px; min-height: 100px; word-break:break-all; text-align:justify; background-color: rgb(255, 255, 204); top: 50px; left: 400px; z-index: 99; display: none; padding: 5px; border: 3px double rgb(255, 153, 0); background-position: initial initial; background-repeat: initial initial;"> </div> <script> $(".sswww").hover( function() { $("#alt").html("<pre>" + $(this).children(".all").html() + "</pre>").css({ "top": $(this).offset().top - 50 }) $("#alt").show() } ) $(".sswww").mouseout( function() { $("#alt").hide() } ) </script>
|