首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

帝國 CMS 靈動標籤 e:loop 完整使用指南

     編輯:PHP 相關知識

標籤優勢

[e:loop] 是帝國 CMS 最強大、靈活的動態標籤:無需建立標籤模板、模板內容直接寫 PHP 代碼、支援所有 PHP 函數、可嵌入原生 SQL。啟用後台「模板參數設置 → 支持程式代碼」即可使用。

標籤語法

[e:loop={欄目ID/專題ID, 顯示條數, 操作類型, 只顯示有標題圖片, 附加SQL條件, 顯示排序}]
    模板代碼內容(可含 PHP)
[/e:loop]

參數詳細說明

順序參數說明範例
1欄目ID/專題ID多個用逗號分隔;'selfinfo' 表當前欄目'1,2,3' 或 'selfinfo'
2顯示條數前幾筆資料10
3操作類型0=最新、1=熱門、2=推薦...(同 listsonclass)0
4只顯示有標題圖片0=不限、1=僅有圖0
5附加SQL條件WHERE 子句片段(不含 WHERE)"title LIKE '%帝國%'"
6顯示排序ORDER BY 子句(不含 ORDER BY)"id DESC" 或 "newstime ASC"

核心模板變數

變數說明
$bqr[字段名]資料表所有欄位值(如 $bqr[title], $bqr[newstime])
$bqsr[titleurl]標題連結 URL(自動處理動態/靜態)
$bqsr[classname]欄目名稱
$bqsr[classurl]欄目連結
$bqno調用序號(從 1 開始)
$public_r[newsurl]網站網址

常用輔助函數

  • esub(字串, 長度):截取字串,esub($bqr[title], 30)
  • date('格式', 時間欄位):格式化時間,date('Y-m-d', $bqr[newstime])

實戰範例集錦

範例 1:當日發布標記 New 圖示

<ul>
[e:loop={1, 10, 0, 0}]
<?php
$newimg = "";
if (date("m-d", $bqr[truetime]) == date("m-d")) {
    $newimg = "<img src='/images/new.gif' alt='New'>";
}
?>
<li><a href="<?=$bqsr[titleurl]?>" target="_blank"><?=esub($bqr[title], 0, 10, false)?></a><?=$newimg?></li>
[/e:loop]
</ul>

範例 2:使用原生 SQL 查詢(第 5 參數傳 24)

[e:loop={'SELECT * FROM [!db.pre!]ecms_news WHERE classid=72 AND type="開發商" ORDER BY id DESC LIMIT 6', 6, 24, 0}]
<li class="class1">
    <a href="https://www.example.com/" target="_blank" title="<?=$bqr[title]?>"><?=$bqr[title]?></a>
    <div class="top_div"><?=$bqr[address]?><br>業務範圍: <?=$bqr[smalltext]?></div>
</li>
[/e:loop]

關鍵:倒數第二參數必須為 24 才啟用 SQL 模式。

範例 3:有標題圖片則顯示圖示

[e:loop={'selfinfo', 20, 0, 0}]
<?php
$newimg = "";
if (!empty($bqr[titlepic])) {
    $newimg = "<img src='/images/has_pic.gif'>";
}
?>
<tr class="even">
    <td class="title">
        <h1><a href="<?=$bqsr[titleurl]?>" target="_blank"><?=esub($bqr[title], 0, 24, false)?></a> <?=$newimg?></h1>
        <p class="intro"><?=$bqr[smalltext]?> [<a href="<?=$bqsr[titleurl]?>" target="_blank">詳細內容</a>]</p>
    </td>
    <td><?=$bqr[myarea]?></td>
    <td><?=date('Y-m-d H:i:s', $bqr[newstime])?></td>
</tr>
[/e:loop]

進階技巧

  • 條件判斷:模板中可直接用 if/else/endif 控制輸出邏輯
  • 計算器:<?= $bqr[price] * $bqr[quantity] ?> 即時運算
  • 外部 API:<?= file_get_contents('https://api.example.com/?id='.$bqr[id]) ?>(注意效能)
  • 分頁配合:搭配 [showpage] 標籤實現動態分頁

注意事項

  1. 後台必須開啟「支持程式代碼」,否則 PHP 代碼會被過濾
  2. SQL 模式下,資料表名建議用 [!db.pre!] 佔位符自動替換前綴
  3. 大量資料查詢時,避免在模板中執行複雜邏輯或外部請求,影響頁面速度
  4. 變數命名區分:資料欄位用 $bqr,系統連結用 $bqsr,序號用 $bqno

總結

e:loop 以「PHP 原生碼為模板」的設計,打破了傳統 CMS 標籤的限制,讓開發者在模板層即擁有完整程式控制力。熟練掌握其 6 個參數與 3 大核心變數($bqr, $bqsr, $bqno),即可輕鬆實現各類複雜列表、聚合、條件顯示需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved