2010-01-16 4 views
0

У меня есть оператор в файле template.php, который направляет на пользовательский узел-myccktype.tpl.php. Я добавил несколько DIV, чтобы иметь две колонки/форму добавления, но теперь я пытаюсь найти печатные поля, но, похоже, не могу их получить.Упорядочить узел/добавить форму в Drupal 6

Я в основном использовать что-то вроде этого:

<?php print form_render($form['field_sr_minutes']); ?> 

, который я наткнулся на Drupal блог, но я называю неопределенной функции «form_render»

Я использую var_dump, чтобы получить массив ниже, как я могу напечатать поле заголовка (тему) узла без печати всего остального? Таким образом, я могу поместить каждое поле формы в нужный столбец вместо стандартной вертикальной формы drupal.

Array 
(
    [0] => Array 
     (
      [#type] => textfield 
      [#title] => Subject 
      [#required] => 1 
      [#default_value] => 
      [#maxlength] => 255 
      [#weight] => -5 
      [#post] => Array 
       (
       ) 

      [#programmed] => 
      [#tree] => 
      [#parents] => Array 
       (
        [0] => title 
       ) 

      [#array_parents] => Array 
       (
        [0] => title 
       ) 

      [#processed] => 1 
      [#description] => 
      [#attributes] => Array 
       (
       ) 

      [#input] => 1 
      [#size] => 60 
      [#autocomplete_path] => 
      [#process] => Array 
       (
        [0] => form_expand_ahah 
       ) 

      [#name] => title 
      [#id] => edit-title 
      [#value] => 
      [#defaults_loaded] => 1 
      [#sorted] => 1 
     ) 

ответ

2

Извините. Из-за вашего имени файла .tpl я подумал, что вы пытаетесь настроить представление узла. Для форм правильная функция не form_render, а drupal_render. Вы можете писать такие вещи, как echo drupal_render($form['field_sr_minutes']). В самом конце, не забудьте сделать drupal_render($form), чтобы отобразить все оставшиеся вещи, которые вы не оказали вручную. Это потребует правильной работы формы.

Старый Ответ

node.tpl.php и другого контента типа конкретных .tpl.php получить передается объект в полный узел в $node. Попробуйте сделать a drupal_set_message(print_r($node,TRUE)) на верхней части вашего tpl файла. Оттуда вы найдете точный путь для значений , которые необходимо распечатать.

Например, название узла будет , доступное в $ node-> title. Однако вы должны быть осторожны, чтобы всегда использовать check_plain, если вы собираетесь распечатать введенные пользователем данные. Для полей CCK вы можете найти уже отфильтрованные значения в $node-><field name>[0][view].

+0

drupal_set_message (print_r ($ node, TRUE)) в .tpl ничего не выводит. Также нет $ node-> field_sr_status [0] ['view'], где field_sr_status - это имя моего поля. – tpow

+0

Извините. Не понял ваш вопрос. Обновлен ответ. Может быть, это поможет. – abhaga

+0

Я брошу тебя +1 ... ты решил проблему, которая тоже заводила меня орехами^_ ^ – espais