这是我的第一个PHP if语句,如果我犯了一个愚蠢的错误,请耐心等待!
我正在运行 pmWiki,并且组名称有两个变量。 $Group是没有空格的组名(例如 EasyCatalog),$Groupspace是带空格的组名(例如 Easy Catalog)。
我想检查$Groupspaced =="简易目录",如果为 true,则返回$Group变量,否则返回$Groupspaced
这是我的代码:
<p class="grouptitle">
<?php if ($Groupspaced == "Easy Catalog") : ?>
<a href='{$ScriptUrl}/{$Group}' class="pagegroup">{$Group}</a>
<?php else : ?>
<a href='{$ScriptUrl}/{$Group}' class="pagegroup">{$Groupspaced}</a>
<?php endif; ?>
</p>
我遇到的问题是它返回两个链接而不是一个。
看来您正在使用 Smarty:如果否则,请使用其语法:
{if $Groupspaced eq 'Easy Catalog'}
<a href='{$ScriptUrl}/{$Group}' class="pagegroup">{$Group}</a>
{else}
<a href='{$ScriptUrl}/{$Group}' class="pagegroup">{$Groupspaced}</a>
{/if}
您可以在 http://www.smarty.net/docsv2/en/language.function.if.tpl 阅读更多
内容我看到这不是一个聪明的人:这是pmWiki,如果其他语法:
(:if cond param:) body (:else:) body (:ifend:)
在您的情况下,代码应该是:
(:if equal "{$Groupspaced}" "Easy Catalog":)
<a href='{$ScriptUrl}/{$Group}' class="pagegroup">{$Group}</a>
(:else:)
<a href='{$ScriptUrl}/{$Group}' class="pagegroup">{$Group}</a>
(:ifend:)
我从这里得到这个:http://www.pmwiki.org/wiki/Cookbook/ConditionalMarkupSamples
你的代码对我来说似乎是对的,但我个人不喜欢使用这样的语句,你可能想尝试一下:
<p class="grouptitle">
<?php if ($Groupspaced == "Easy Catalog") { ?>
<a href='{$ScriptUrl}/{$Group}' class="pagegroup">{$Group}</a>
<?php } else { ?>
<a href='{$ScriptUrl}/{$Group}' class="pagegroup">{$Groupspaced}</a>
<?php } ?>
</p>
希望它有效
<p class="grouptitle">
<?php
if ($Groupspaced == "Easy Catalog")
{
echo " <a href='{$ScriptUrl}/{$Group}' class='pagegroup'>{$Group}</a>";
}
else{
echo " <a href='{$ScriptUrl}/{$Group}' class='pagegroup'>{$Groupspaced}</a>";
}
?>
</p>
尝试这样做以确保您的理论是错误的,然后解决您的问题:
<p class="grouptitle">
<?php
$Groupspaced = "Easy Catalog2";
if ($Groupspaced == "Easy Catalog") : ?>
<a href='blablabla1' class="pagegroup">Group 1</a>
<?php else : ?>
<a href='blablabla2' class="pagegroup">Group spaced 2</a>
<?php endif; ?>
</p>
现在,由于您使用的是智能模板,这是正确的智能if/else语法:
<p class="grouptitle">
{if $Groupspaced eq "Easy Catalog"}
<a href='{$ScriptUrl}/{$Group}' class="pagegroup">Group 1</a>
{else}
<a href='{$ScriptUrl}/{$Group}' class="pagegroup">Group spaced 2</a>
{/if}
</p>