if else语句返回两者而不是一个?

时间:2013-10-04 15:34:12

标签: php html if-statement pmwiki

这是我的第一个PHP if语句,如果我犯了一个愚蠢的错误,请耐心等待我!

我正在运行pmWiki并且有两个变量用于组名。 $ Group是不带空格的组名(例如EasyCatalog),$ Groupspace是带空格的组名(例如Easy Catalog)。

我想检查$ Groupspaced ==“Easy Catalog”,如果为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>

我遇到的问题是它返回两个链接而不是一个。

4 个答案:

答案 0 :(得分:1)

看来你正在使用Smarty:使用if语法:

{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 else语法:

(: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

答案 1 :(得分:-1)

尝试这样做以确保您的理论是错误的,然后解决您的问题:

<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>

现在,由于您使用的是smarty模板,因此这是正确的smarty if/else syntax

<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>

答案 2 :(得分:-1)

您的代码似乎对我而言,但我个人不喜欢使用if这样的陈述,您可能想尝试一下:

 <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>

希望它有效

答案 3 :(得分:-1)

<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>