开发者新闻

XOOPS.org运行Smarty模板引擎

onokazu  23-Aug-2002 00:04 12549 阅读数   无评论 
function themeheader($show_rblock) {
    global 
$xoopsConfig;
    echo 
'';
    
OpenWaitBox();
    echo 
'bgcolor="#666666">
    
    
    
    
    
    .XOOPS_URL.'">
    .XOOPS_URL.'/themes/phpkaox/images/logo.gif">
    
    
    '
;
    if ( 
$xoopsConfig['banners'] == ) {
    
showbanner();
    }
    echo 
'
    
    
    
    
    
    
    cellspacing="0" cellpadding="0" height="100%">
    
    valign="top" align="center">'
;
    
make_sidebar("left");
    echo 
'
    '
;
}

function 
themefooter($show_rblock$footer) {
    echo 
"";
    if ( 
$show_rblock ) {
    echo 
'';
    
make_sidebar("right");
    }
    echo 
'
    '
;
    echo 
$footer;
    echo 
'
    
    '
;
    
CloseWaitBox();
}

function 
themesidebox($title$content) {
    echo 
'
    
    '
.$title.'
    
    
    '
.$content.'
    
    
'
;
}


而当我们使用Smarty时,定义整个网站外观的layout.tpl文件将变为

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<
html>
<
head>
<
meta http-equiv='Content-Type' content='text/html; charset={$xoops_charset}' />
<
meta name='keywords' content='' />
<
meta name='description' content='' />
<
meta name='generator' content='{$xoops_version}' />
<
title>{$xoops_pagetitle}title>
<
link rel='stylesheet' type='text/css' media='all' href='{$xoops_url}/xoops.css' />
{if 
$xoops_themecss != ""}
<
style type='text/css' media='all'>style>
{/if}
<
link href='{$xoops_url}/favicon.ico' rel='SHORTCUT ICON' />
<
script src='{$xoops_url}/include/xoopsjs.php'>script>
head>
<
body>
<
table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#666666">
  <
tr>
    <
td valign="top" bgcolor="#DDE1DE">
      <
table width="100%" border="0" cellspacing="0" cellpadding="0">
        <
tr>
          <
td width="285" valign="middle" align="center">
            <
a href="{$xoops_url}/">
              <
img src="{$xoops_url}/themes/phpkaox/images/logo.gif">
              a>
          td>
          <
td>
          {if 
$xoops_banner != ""}
            {
$xoops_banner}
          {else}
              
          {/if}
          td>
        tr>
      table>
    td>
  tr>
  <
tr>
    <
td valign="top" bgcolor="#FFFFFF">
      <
table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
        <
tr>
          <
td width="20%" bgcolor="#EFEFEF" valign="top">
          {foreach 
item=block from=$xoops_lblocks}
            <
table width="100%" border="0" cellspacing="0" cellpadding="2">
              <
tr>
                <
td bgcolor="#E2DBD3">
                  <
b><font color="#666600">{$block.title}font>b>
                td>
              tr>
              <
tr>
                <
td valign="top">{$block.content}td>
              tr>
            table>
            <
br>
          {/foreach}
          td>
          <
td valign="top">
          {if 
$xoops_contents_tpl == ""}
            {
$xoops_contents}
          {else}
            {include 
file="$xoops_contents_tpldir/$xoops_contents_tpl"}
          {/if}
          td>
          {if 
$xoops_showrblock == 1}
      <
td width="20%" bgcolor="#efefef" valign="top">";
          {foreach item=block from=
$xoops_rblocks}
            100%" border="0" cellspacing="0" cellpadding="2">
              
                #E2DBD3">
                  
<b><font color="#666600">{$block.title}font>b>
                td>
              tr>
              <
tr>
                <
td valign="top">{$block.content}td>
              tr>
            table>
            <
br>
          {/foreach}
          td>
          {/if}
        tr>
      table>
    td>
  tr>
  <
tr>
    <
td height="30" valign="middle" bgcolor="#DDE1DE" align="center">
    {
$xoops_footer}
    td>
  tr>
table>
body>
html>


现在,正如你可能已经注意到的,Smarty并没有尝试将逻辑和模板完全分离。模板文件中确实存在一些Smarty的专有逻辑函数和参数。然而,与我们在旧主题文件中的PHP代码相比,这几乎是可以忽略的,并且已经有详细的说明书介绍如何使用它们,你可以在http://smarty.php.net/(外部链接)中查看。

不仅主题文件,每个模块都可以有自己的模板文件。我们已经转换了在此网站运行的论坛模块。虽然不是100%必需的,但我们强烈建议所有模块使用模板,我们还将发布一个详细的文档,介绍如何为模块创建模板文件。

不幸的是,使用模板文件的模块在旧主题下将无法工作……这也意味着所有主题都应该转换成使用Smarty模板文件。

这就是目前的情况,请像往常一样报告错误,以便我们能尽快推出下一个版本。
评分 0/5
评分: 0/5 (0票)
投票已禁用!


Login

Who's Online

262 user(s) are online (20 user(s) are browsing Publisher)


Members: 0


Guests: 262


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Aug 31
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits

Categories