我有一个问题需要检查,如果产品附加了一些选项,我希望列表中的输出不同。
所以我希望输出如下:
如果产品附有选项,则应格式如下:
价格从:£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。
谢谢梅尔
答案 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
是否有值或已设置。如果变量为空,则表示条件是合适的,它将不显示任何内容。