2013-09-30 30 views
0

我試圖打印值,他們打印就好了。但一旦插入if語句服務器發出WSOD如何正確地說IF低於0然後打印

有人可以看看我的代碼並告訴我我做錯了什麼嗎? 只有在field_val_nominal低於零時,我才需要打印這些值。

<?php 
$node_wrapper = entity_metadata_wrapper('node', $node); 
$field_val_nominal = $node_wrapper->field_price_change_nominal_comp->value(); 
$field_val_percent = $node_wrapper->field_price_change_percent_comp->value(); 

if ($field_val_nominal < 0 && $field_val_nominal != 0) : print render($field_val_nominal) . t('(') . render($field_val_percent) . t('%)') ; 
    ?> 

我一直在抨擊我的頭對付這個問題一段時間。任何幫助不勝感激。

+0

刪除:打印語句 – jeff

+0

你'如果()'聲明的第二部分之前是多餘的。如果x小於零,x不會等於零。 –

+0

謝謝。如果($ field_val_nominal <0)打印渲染($ field_val_nominal),我已考慮到這兩個建議,現在有 。 t('(')。render($ field_val_percent)。t('%)'); 但我仍然得到WSOD – drupalina

回答

2

我總是用花括號代替冒號。而你的「如果」條件,可以縮短到一個單一的情況下,像這樣:

<?php 
$node_wrapper = entity_metadata_wrapper('node', $node); 
$field_val_nominal = $node_wrapper->field_price_change_nominal_comp->value(); 
$field_val_percent = $node_wrapper->field_price_change_percent_comp->value(); 

if ($field_val_nominal < 0) 
    { 
    print render ($field_val_nominal) . t('(') . render($field_val_percent) . t('%)') ; 
    } 
?> 
+0

謝謝!花括號做了訣竅。當我使用冒號和大括號時,我仍然感到困惑。 – drupalina

1

看起來像一個錯字?冒號不屬於你的if語句。

<?php 
$node_wrapper = entity_metadata_wrapper('node', $node); 
$field_val_nominal = $node_wrapper->field_price_change_nominal_comp->value(); 
$field_val_percent = $node_wrapper->field_price_change_percent_comp->value(); 

if ($field_val_nominal < 0) 
    print render($field_val_nominal) . t('(') . render($field_val_percent) . t('%)') ; 
?>