Drupal - Webform elemento di tematizzazione
-
22-09-2019 - |
Domanda
Un'altra domanda sulla webforms Drupal - La forma stessa è costruita in da /includes/form.inc 's
function theme_form_element($element, $value)
e aggiunge un elemento <label>
al $ output. Voglio rimuovere questa etichetta solo per un modulo web, quindi devo ignorare la funzione.
Come posso ignorare per un solo modulo web, lasciando lo stesso in tutti gli altri?
Per es.
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;
Questo è possibile, e ciò che va nella condizione if?
Soluzione 2
ho dovuto fare un hook_form_alter, ma l'etichetta era nell'elemento [ 'presentato']. ecco il codice
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 una forma diversa, la rimozione del #title lavorato (+1 per voi!), Ma questo era un caso diverso.
Altri suggerimenti
Se stai solo cercando di rimuovere l'etichetta, è possibile utilizzare anche hook_form_alter ( ) , e controllare che $ form_id è uguale al modulo web in questione. L'id sarà della forma:. Webform_client_form_N dove N è l'ID di nodo del modulo web
Una volta che si opera sulla forma corretta, è possibile disinserire l'etichetta utilizzando, ad esempio, il codice come questo:
unset($form['submitted']['first_name']['#title']);
Il che disinserire l'etichetta per un campo chiamato first_name.
Non vorrei unset titoli elemento modulo. Si potrebbe ottenere risultati imprevisti quando il modulo viene reso dal motore tema.
È possibile farlo in diversi modi:
Tema ciascun elemento o l'intero modulo con con '#theme' => 'my_callback'
.
È anche possibile creare il proprio elemento di modulo utilizzando hook_elements che utilizza un gancio tema corrispondente.
See:
http://api.drupal.org/api /drupal/developer--topics--forms_api_reference.html