3

这是我的第一个 PHP if 语句,如果我犯了一个愚蠢的错误,请多多包涵!

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

我想检查 $Groupspaced == "Easy Catalog",如果为真则返回 $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

4 回答 4

1

看来您正在使用 Smarty:使用它的语法 for if else:

{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

于 2013-10-04T15:43:58.087 回答
-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 语法

<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>
于 2013-10-04T15:38:41.707 回答
-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>

希望它的工作

于 2013-10-04T15:39:05.857 回答
-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>
于 2013-10-04T15:41:27.720 回答