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

XOOPS Smarty 模板變數完整參考手冊

     編輯:PHP 綜合知識

XOOPS 核心 Smarty 模板變數速查表

XOOPS 使用 Smarty 模板引擎,主題開發者需熟悉核心變數以正確輸出內容、區塊、中繼資料。本文整理官方核心變數分類參考。

一、網站中繼資料與基本資訊

變數 說明 用途範例
{$xoops_sitename} 站點名稱 <title>{$xoops_sitename} - {$xoops_pagetitle}</title>
{$xoops_pagetitle} 當前頁面標題 同上
{$xoops_meta_keywords} Meta 關鍵字 <meta name="keywords" content="{$xoops_meta_keywords}">
{$xoops_meta_description} Meta 描述 <meta name="description" content="{$xoops_meta_description}">
{$meta_copyright} 版權資訊 <meta name="copyright" content="{$meta_copyright}">
{$meta_robots} Robots 設定 <meta name="robots" content="{$meta_robots}">
{$meta_rating} 內容分級 <meta name="rating" content="{$meta_rating}">
{$xoops_url} 站點完整 URL <a href="{$xoops_url}">首頁</a>

二、樣式、腳本與版面結構

變數 說明 用途範例
{$xoops_themecss} 主題 CSS 路徑 <link rel="stylesheet" href="{$xoops_themecss}">
{$xoops_js} 核心 JavaScript <script src="{$xoops_js}"></script>
{$xoops_banner} 橫幅廣告區塊 <div class="banner">{$xoops_banner}</div>
{$xoops_contents} 主內容區域 <main>{$xoops_contents}</main>
{$xoops_footer} 頁腳內容 <footer>{$xoops_footer}</footer>

三、區塊系統變數 (依區域分類)

XOOPS 區塊系統提供多區域變數,均為 Smarty 陣列,需用 {foreach} 迴圈輸出。

區域 變數 條件變數 輸出範例
左側 $xoops_lblocks 無 {foreach $xoops_lblocks as $block}{$block}{/foreach}
中間左 $xoops_clblocks $xoops_showcblock == 1 {if $xoops_showcblock}{foreach $xoops_clblocks as $block}{$block}{/foreach}{/if}
中間中 $xoops_ccblocks $xoops_showcblock == 1 同上
中間右 $xoops_crblocks $xoops_showcblock == 1 同上
右側 $xoops_rblocks $xoops_showrblock == 1 {if $xoops_showrblock}{foreach $xoops_rblocks as $block}{$block}{/foreach}{/if}

四、用戶狀態與資訊

變數 說明 型別/值
{$xoops_isadmin} 是否管理員 Boolean (true/false)
{$xoops_isuser} 是否註冊用戶 Boolean
{$xoops_userid} 用戶 ID Integer (未登入為 0)
{$xoops_uname} 用戶名稱 String (未登入為空)

五、完整主題範例架構

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>{$xoops_sitename} - {$xoops_pagetitle}</title>
    <meta name="keywords" content="{$xoops_meta_keywords}">
    <meta name="description" content="{$xoops_meta_description}">
    <link rel="stylesheet" href="{$xoops_themecss}">
    {$xoops_js}
</head>
<body>
    <header>
        <h1><a href="{$xoops_url}">{$xoops_sitename}</a></h1>
        {$xoops_banner}
    </header>
    
    <div class="container">
        <aside class="sidebar-left">
            {foreach $xoops_lblocks as $block}
                {$block}
            {/foreach}
        </aside>
        
        <main class="content">
            {if $xoops_showcblock}
                {foreach $xoops_clblocks as $block}{$block}{/foreach}
                {foreach $xoops_ccblocks as $block}{$block}{/foreach}
                {foreach $xoops_crblocks as $block}{$block}{/foreach}
            {/if}
            
            {$xoops_contents}
        </main>
        
        <aside class="sidebar-right">
            {if $xoops_showrblock}
                {foreach $xoops_rblocks as $block}{$block}{/foreach}
            {/if}
        </aside>
    </div>
    
    <footer>
        {$xoops_footer}
    </footer>
</body>
</html>

六、開發者常用技巧

  • 除錯輸出所有變數:{$smarty.get|@print_r} 或 {$GLOBALS|@print_r} (僅開發環境)
  • 判斷模組/動作:{$xoops_dirname} (模組目錄名)、{$xoops_module_header} (模組自訂 header)
  • 多語系支援:使用 {_t('文字')} 或 {$lang.常數}
  • 自訂區塊標題樣式:區塊輸出包含標題,可用 CSS 覆寫 .blockTitle

版本差異提醒

  • XOOPS 2.5.x / 2.6.x 核心變數相容
  • 第三方模組可能提供額外變數,請參考模組文檔
  • Smarty 版本差異:XOOPS 內建 Smarty 3.x,語法支援 {$var|modifier}、{function} 等
  • 主題目錄:themes/your_theme/,必須包含 theme.html、style.css、theme.ini
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved