mdtom 寫:
我好像找到這種編排方法
是利用div跟ul跟li標籤的配合
專業的美編好像把這種呈現方式叫作「頁籤」
top5裡面抓取文章標題、內容、作者、時間等我大概知道引用的變數
不過要怎麼判斷有沒有圖形這點還請前輩們賜教
我自己是這樣想的...
假如是熱門文章TOP1
萬一他沒有圖片= ="
那版形會不會亂掉 (因為可能預留一塊假設150*200的位置給image)
那假如有圖片最好
可是要怎麼知道文章內有無image呢?
要學會php語言跟瞭解phpBB資料庫欄位存放位置自己寫來判斷嗎?
像我這種沒學過的大概要學多久可以走到這步田地阿QQ"
再來圖片也許是4:3
也有可能是2:6
我看yahoo都不會爆圖
整個頁籤的高度跟寬度都是固定的
這點我也很疑惑...
頁面呈現的編排方式隨個人喜好,你愛用哪種標籤去排版就使用哪種方式去排版,有人喜歡用
代碼: 選擇全部
<table><tr><td></td></tr></table>
或
代碼: 選擇全部
<div><ul><li></li></ul></div>
或
代碼: 選擇全部
<div><span></span></div>
只要呈現出來的頁面是設計者所滿意的,那就..............................(我要講的重點不是這個,差點偏離主題.).
---------------------------------------------------------------------------------------------------
底下我的作法,已縮減了讀取文章的 id 部分.直接跳到我上篇文章的第四點.(其實第三點的部份已融入在第四點了). PS:前提必須是 (文章內的附加檔案必須為"
圖片").
1.先準備一幅名為 nophoto.gif 的圖片(尺寸大小請自行調整)置於 images 的資料夾內.
2.在要呈現的文章主題的程式碼迴圈中 (好比是 top 5 的迴圈) 加入
代碼: 選擇全部
$sql = "SELECT attach_id, topic_id, filetime
FROM " . ATTACHMENTS_TABLE . "
WHERE topic_id = '" . (文章主題的 id) . "'
ORDER BY filetime ASC "; /* 顯示第一幅圖 , 若去掉 ASC 則顯示最後一幅圖 */
$rs = $db->sql_query($sql); // 避免與大部分外掛的 $row 相衝突,故使用 $rs
$attach = $db->sql_fetchrow($rs);
$attach_id = $attach['attach_id'];
if ( !empty($attach_id) )
{ $topic_attach = "./download/file.php?id=" . $attach_id; }
else
{ $topic_attach = "images/nophoto.gif"; } // 文章內無圖片時使用
3.在該迴圈的輸出開關
$template->assign_block_vars('開關名稱', array( 之後加入
代碼: 選擇全部
'ATTACH_IMG' => $topic_attach,
4.顯示的頁面 html 中,於文章主題的迴圈 <!-- BEGIN
開關名稱 --> 中加入
代碼: 選擇全部
<img src="{開關名稱.ATTACH_IMG}" width="***">
這樣大致上來說,文章的圖片就可以出現了.(這是我五年前的作法,圖片未經額外 GD 縮圖.所以圖片出現毛邊,檔案過大是相對的.)
若你有興趣,等你先搞定這部份後,若要額外的 GD 縮圖檔案的話,我再 PO 出來.(畢竟若上段部份你搞不定的話,額外的 GD 縮圖檔就沒啥太大意義了).