Drupal 7 自定义模块的严格标准问题
Strict standards issue with Drupal 7 custom module
访问首页时出现如下错误信息:
Strict Standards: Only variables should be passed by reference in C:\wamp\www\vb-15-05-2018-2\sites\all\modules\vb_ymlp\vb_ymlp.module on line 40
这来自自定义模块,if
语句中的行是问题所在。这是一个更大的问题还是有一个简单的解决方案?
function vb_ymlp_block_view($delta = ""){
module_load_include('inc', 'vb_ymlp', 'vb_ymlp.form');
$block = array();
if($delta == 'vb_ymlp_block'){
// the line below is causing this error
$block['content'] = drupal_render(drupal_get_form('vb_ymlp_form'));
}
return $block;
}
您无法像设置 drupal_render()
那样将值设置为函数
你必须先获取它,然后将它设置到内容变量
就像你必须做的那样
function vb_ymlp_block_view($delta = ""){
module_load_include('inc', 'vb_ymlp', 'vb_ymlp.form');
$block = array();
if($delta == 'vb_ymlp_block'){
// the line below is causing this error
$content = drupal_get_form('vb_ymlp_form');
$content = drupal_render($content);
$block['content'] = $content;
}
return $block;
}
希望这能解决您的问题
谢谢
访问首页时出现如下错误信息:
Strict Standards: Only variables should be passed by reference in C:\wamp\www\vb-15-05-2018-2\sites\all\modules\vb_ymlp\vb_ymlp.module on line 40
这来自自定义模块,if
语句中的行是问题所在。这是一个更大的问题还是有一个简单的解决方案?
function vb_ymlp_block_view($delta = ""){
module_load_include('inc', 'vb_ymlp', 'vb_ymlp.form');
$block = array();
if($delta == 'vb_ymlp_block'){
// the line below is causing this error
$block['content'] = drupal_render(drupal_get_form('vb_ymlp_form'));
}
return $block;
}
您无法像设置 drupal_render()
你必须先获取它,然后将它设置到内容变量
就像你必须做的那样
function vb_ymlp_block_view($delta = ""){
module_load_include('inc', 'vb_ymlp', 'vb_ymlp.form');
$block = array();
if($delta == 'vb_ymlp_block'){
// the line below is causing this error
$content = drupal_get_form('vb_ymlp_form');
$content = drupal_render($content);
$block['content'] = $content;
}
return $block;
}
希望这能解决您的问题
谢谢