无法在这段Php代码中找到错误

时间:2009-05-08 22:54:15

标签: php drupal

我在这段代码上遇到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模块。

3 个答案:

答案 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)

如何将这个巨大的陈述分解为较小的陈述,以便更好地查明问题?