2013-09-30 2 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

Спасибо. Я принял оба совета в расчет и теперь имеет if ($ field_val_nominal <0) print render ($ 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('%)') ; 
?> 
Смежные вопросы