html模板if语句

时间:2011-07-10 21:34:48

标签: php html templates if-statement

PHP代码(functions.php)

$main = $db_sql->query_array("SELECT catid,titel,subcat,startorder FROM $cat_table WHERE catid='$subcat'");
$tpl->register('category_title',stripslashes($main['titel']));
$tpl->register('category_id',$main['catid']);

所以我想添加一个if语句,如果{category_id}不为0,那么执行以下代码

<img src="{GRAFURL}/{category_id}.jpg" alt="{category_title}" width="50" height="50" border="0" align="middle" />&nbsp;{category_title}

什么是正确的语法?

还需要更多代码用于html文件吗?

3 个答案:

答案 0 :(得分:4)

HTML没有像if语句这样的动态功能。将HTML视为定义布局的语言 - 使用HTML本身不可更改

这应该可以解决问题:

<?php

  if ( false === is_empty( $category_id )) {

    echo  "<img src='{$GRAFURL}/{$category_id}.jpg' alt='{$category_title}' 
            width='50' height='50' 
            border='0' align='middle' />&nbsp;{$category_title} ";

  }

?>

如果您需要向HTML页面添加客户端动态功能,请查看jQueryjQuery UI

答案 1 :(得分:2)

HTML没有这样的功能。您需要使用编程语言生成HTML。然后语法将取决于您使用的语言。

e.g。在TT中:

[% IF category_id %]
<img src="[% GRAFURL %]/[% category_id %].jpg" 
     alt="{category_title}" width="50"
     height="50" border="0" align="middle"
     />&nbsp;[% category_title %]
[% END %]

答案 2 :(得分:0)

使用javascript生成客户端,PHP用于服务器端。 Javascript可以更改页面上的内容,并在页面发送到客户端后提供动态内容; PHP可以确定之前的内容将其发送给用户(虽然它可以在之后编辑它,但它更复杂)。

例如,如果您想将其添加到ID为“dynamic”的代码,则可以使用此代码:

<html>
<head>
<script type="text/javascript">
window.onload = function() {
var img_tag = document.createElement('img');
img_tag.src = "{GRAFURL}/{category_id}.jpg";
img_tag.alt = "{category_title}";
img_tag.width = 50;
img_tag.height = 50;
img_tag.border = 0;
img_tag.align = "middle";
document.getElementById("dynamic").appendChild(img_tag);
};
</script>
</head>
<body>
<div id="dynamic">
</div>
<body>
</html>

我完全建议学习jQuery,但是,你可以更容易,更快地完成任务。此外,您可以使用正确的值(通过PHP或javascript)替换大括号中的值,我无法分辨您在做什么。