0

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

所以我希望输出如下:

如果产品附加了选项,则其格式应如下所示:

起价:1.99 英镑

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

价格:1.99 英镑

Price From: 和 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 输出中,它只是将 span 显示为空。

奇怪的是,如果我只是在第一个跨度中静态地编写工作,它就可以工作。例如,这有效:

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

谢谢梅尔

4

3 回答 3

1

您的语言文件需要有一个

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

你的控制器需要有

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

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

于 2013-02-19T14:14:20.373 回答
0

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

var_dump(count($options) > 1, $text_price_from, $text_price);
于 2013-02-19T13:39:58.823 回答
0

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

于 2013-02-19T13:56:16.297 回答