2013-02-19 91 views
0

我有一個問題,我想檢查,如果產品有一些附加選項,我希望輸出在列表中不同。基本的PHP如果語句回聲問題

所以我想輸出爲以下幾點:

如果產品已連接到它的選擇,它的格式應該是這樣的:

價格從:£1.99

如果產品一直沒有重視它的選擇,它的格式應該是這樣的:

價格:£1.99

的話價格From:和價格:是本地化和被從一個單獨的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

看起來像你試圖回顯的變量是空的。 – 2013-02-19 13:41:47

+0

@jonhopkins它是PHP的替代語法。當您想要將PHP注入HTML時,可讀性更高。 http://php.net/manual/en/control-structures.alternative-syntax.php – 2013-02-19 13:46:26

+0

@Sven謝謝。我剛剛發現我自己哈哈 – jonhopkins 2013-02-19 13:47:18

回答

1

你的語言文件需要有一個

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

和控制器都需要有

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

這是最有可能的問題 - 你缺少的拼圖的那些作品之一。如果不是,那麼唯一的其他解釋是在語言文件,控制器或可能的模板中取消設置變量

+0

真棒謝謝...是的...我錯過了控制器中的信息。 – missmonkee 2013-02-26 10:30:38

+0

嗨Jay, 如果我想在類別頁面上執行相同的功能,即......如果選項大於1時顯示一些文本,我該怎麼做呢? 看來,$選項計數不工作,我嘗試添加這一點,但它doesent工作要麼... <(1)PHP如果count($產品[ '選項'])?>?> 任何幫助將不勝感激! 感謝Mel – missmonkee 2013-02-26 12:16:03

+0

更復雜的是,您需要爲控制器中的產品單獨加載選項,將其分配給產品陣列,然後再次在模板上測試選項數 – 2013-02-26 12:17:27

0

嘗試var_dump這些變量,看看你得到什麼。

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

您應該檢查$text_price_from是否有值或已設置。事實上,如果變量爲空,條件是適合的,它將不顯示任何內容。