Frage

Eine andere Frage über Drupal Webforms - Die Form selbst ist eingebaut von /includes/form.inc s

function theme_form_element($element, $value)

und fügt ein <label> Element, um den $ ausgegeben. Ich möchte, dass Label für ein Webformular nur entfernen, also muss ich die Funktion außer Kraft setzen. Wie kann ich es nur für eine webform außer Kraft setzen, während sie das gleiche in allen anderen überlassen? Z.

if ($block == 'contact'):
  // only output <input> form element stored in $value
  function mytheme_html_form_element($element, $value) {
    $t = get_t();
    $output .= " $value\n";
    return $output;
  }
endif;

Ist das möglich ist, und was geht in dem, wenn die Bedingung?

War es hilfreich?

Lösung 2

Ich hatte eine hook_form_alter zu tun, aber das Etikett selbst war in dem [ ‚vorgelegt‘] Elemente. hier ist der Code

  if($form_id == 'webform_client_form_18') {
    $form['submitted']['#children'] = '
    <input
     type="text" 
     maxlength="128"
     name="submitted[email]"
     id="edit-submitted-email"
     value="' . $form['submitted']['email']['#default_value']. '"
     class="form-text required"
    />
  ';
  }

in einer anderen Form, die #title Entfernen gearbeitet (+1 für Sie!), Aber das war ein anderer Fall.

Andere Tipps

Wenn Sie gerade suchen, um die Markierung zu entfernen, können Sie auch hook_form_alter ( ) und prüfen, ob $ form_id zum Webformular in Frage gleich ist. Die ID wird von der Form:. Webform_client_form_N wobei N die Knoten-ID des Webformular ist

Sobald Sie Betrieb auf der richtigen Form, können Sie das Etikett unset verwenden, beispielsweise Code wie folgt:

 unset($form['submitted']['first_name']['#title']);

, die die Bezeichnung für ein Feld namens first_name unset würde.

Ich würde nicht ungesetzt Form Element Titel. Sie könnten unerwartete Ergebnisse erhalten, wenn Ihre Form durch das Thema Engine gerendert wird.

Sie können es mehrere Möglichkeiten:

Thema jedes Element oder die gesamte Form mit mit '#theme' => 'my_callback'.

Sie können auch Ihr eigenes Formularelement mit hook_elements erstellen, die einem entsprechenden Thema Haken verwendet.

Siehe auch:

http://api.drupal.org/api /drupal/developer--topics--forms_api_reference.html

http://api.drupal.org/api/function/hook_elements/6

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top