我在这段代码上遇到T_String错误,在第二行更准确地说($ form ['com ...),我只是不明白为什么。
function _maxlength_comment_type_form_alter(&$form, $form_state, $form_id) {
$form['comment']['comment_max_length'] = array(
'#type' => 'select',
'#title' => t('Maximum comment length'),
'#default_value' => variable_get('comment_max_length_'. $form['#node_type'] -> type, 160),
'#options'=> drupal_map_assoc(array(140,160,180,200)),
'#description' => t('numero maximo de caracteres permitidos.'),
'#weight' => -1,
);
我将此代码添加到Maxlength drupal模块。
答案 0 :(得分:1)
可能是这部分:
'comment_max_length_'. $form['#node_type'] -> type
尝试摆脱箭头周围的空间?
编辑 - 我不相信上面的代码实际上是一个问题,虽然我仍然建议删除空格作为一种风格,只是因此很明显,你这样做:
'comment_max_length_'. ($form['#node_type']->type)
而不是:
('comment_max_length_' . $form['#node_type'])
您的代码有效且可在我的电脑上工作 TM 。
另一个编辑:
确保已定义$form['comment']
。也许在函数开头添加它。
if (!isset($form['comment'])) $form['comment'] = array();
答案 1 :(得分:0)
我可以看到两个问题,上面提到的一个问题,即箭头两侧不应该有空格:
'comment_max_length_'. $form['#node_type'] -> type
此外,它之后不应该有逗号(因为它是数组中的最后一项):
'#weight' => -1,`
答案 2 :(得分:0)
如何将这个巨大的陈述分解为较小的陈述,以便更好地查明问题?