2011-03-30 32 views
2

令人驚訝無法找到這樣的東西......基本上我所說的產品視圖頁面上我的自定義產品屬性是這樣的:顯示產品屬性值,只有當它存在

Men/Women: <?php echo $this->htmlEscape($_product->getmenwomen()) ?> 

這顯示了男/女屬性很好,但這些都是可選的值,因此如果一個產品不具有這種特殊屬性的值,仍然顯示行,就沒有任何價值:

Men/Women: 

我想該行不如果真的存在,就沒有價值的產品。有任何想法嗎?

回答

4

您必須在打印之前檢查getmenwomen()的值是否真的包含您期望它包含的內容(例如男性/女性)。在這個例子中,我假定除了空白之外的任何東西都是有效的值。

$menwomen = $_product->getmenwomen(); 
if (trim($menwomen)) { 
    echo "Men/Women: ".$this->htmlEscape($menwomen); 
} 
+0

這樣做的伎倆,謝謝! – rocky 2011-03-30 22:16:14

0

不是100%,因爲我不知道如果getmenwomen()將返回false,如果它爲空 如果沒有東西要返回,默認情況下它應該返回false。

<?php 
    if ($var = $this->htmlEscape($_product->getmenwomen()) { 
    echo "Men/Women: " + $var; 
    } 
?> 
+0

謝謝你的幫助克里斯,User684736的答案似乎有伎倆。 – rocky 2011-03-30 22:20:05

0

你的意思是你想,如果有一個值,沒有什麼顯示一切,如果有沒有?只需添加一個簡單的條件:

if (!empty($this->htmlEscape($_product->getmenwomen()))) 
    echo 'Men/Women: '.$this->htmlEscape($_product->getmenwomen()); 

就是這樣,你甚至不需要其他的東西。

+0

謝謝linus,但那代碼扔了我這個錯誤 - 「致命錯誤:不能在寫入上下文中使用方法返回值」 – rocky 2011-03-30 22:18:35

相關問題