基本PHP if语句回显问题

时间:2013-02-19 13:38:14

标签: php if-statement echo opencart

我有一个问题需要检查,如果产品附加了一些选项,我希望列表中的输出不同。

所以我希望输出如下:

如果产品附有选项,则应格式如下:

价格从:£1.99

如果产品没有附加选项,则应格式如下:

价格:£1.99

单词Price From:And Price:本地化并从单独的PHP文件中提取。

我不确定我在哪里出错,但这是我的代码:

<li>
<?php if(count($options)>1): ?>

<span class="normal"><?php echo $text_price_from; ?></span>

<?php else: ?> 

<span class="normal"><?php echo $text_price; ?></span>

<?php endif; ?>

<span class="price"><?php echo $price; ?></span>
</li>  

在我的HTML输出中,它只显示范围为空。

奇怪的是,如果我只是在第一个范围内静态编写工作,那就行了。例如,这有效:

<li>
<?php if(count($options)>1): ?>

<span class="normal">From:</span>

<?php else: ?> 

<span class="normal"><?php echo $text_price; ?></span>

<?php endif; ?>

<span class="price"><?php echo $price; ?></span>
</li>  

有人有任何想法吗?该平台是OpenCart。

谢谢梅尔

3 个答案:

答案 0 :(得分:1)

您的语言文件需要

$_['text_price_from'] = 'From:';

并且您的控制器需要

$this->data['text_price_from'] = $this->language->get('text_price_from');

这很可能就是问题 - 你错过了其中一个难题。如果不是,那么唯一的另一种解释是在语言文件,控制器或模板中未设置变量

答案 1 :(得分:0)

尝试var_dump这些变量,看看你得到了什么。

var_dump(count($options) > 1, $text_price_from, $text_price);

答案 2 :(得分:0)

您应该检查$text_price_from是否有值或已设置。如果变量为空,则表示条件是合适的,它将不显示任何内容。