我正在尝试打印值,它们打印得很好。 但是只要插入 if 语句,服务器就会发出 WSOD
有人可以看看我的代码并告诉我我做错了什么吗?仅当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('%)') ;
?>
一段时间以来,我一直在解决这个问题。任何帮助非常感谢。
我总是使用大括号而不是冒号。 你的"如果"条件可以缩短为一个条件,如下所示:
<?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('%)') ;
}
?>
看起来像一个错字?? 冒号不属于您的 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('%)') ;
?>