Ciao all,
implementando l'hook_form() vi siete mai imbattuti sul fatto che i field non rispettano il size impostato?
Il "problema" è conosciuto e dipende dal fatto che il file node.css al suo interno ha questa regola:
.node-form .form-text {
display:block;
width:95%;
}
questo comporta che un textfield così creato:
<?php
$form['textfield_1'] = array(
'#type' => 'textfield',
'#title' => t('Text Field 1'),
'#default_value' => isset($node->textfield_1) ? $node->textfield_1 : '',
'#size' => 60,
'#maxlength' => 200,
'#required' => TRUE,
'#description' => t('Descrizione di prova.'),
);
?>
non abbia un width="60"
ma bensì un width="95%"
.
Modificando il node.css con la regola seguente il problema si risolve:
.node-form .form-text {
display:block;
max-width:95%;
ma per me è impensabile modificare un file di Drupal per far riportare le cose.
Che voi sappiate, esiste una soluzione smart al problema senza andare a impelagarsi con il theming delle form?
ciao.
forse è un'ingenuità, ma ho fatto una prova e posso sovrascrivere quella regola dal css del tema.
provato sia su fusion (local.css del subtema) che su garland (style.css).
Non va bene?
Certified to Rock
E' proprio così. Vedi http://www.vanseodesign.com/css/css-specificity-inheritance-cascaade/ Cascade punto 4. Basta usare lo stesso selettore e dare la stessa regola con valori diverse - (magari width: auto;). Se il tuo css viene caricato per ultimo (come accade) il browser prende quella regola per la stessa specificità.
Più imparo, più dubito.
lo sapevo che mi stavo perdendo su una stupidaggine, e che mi ero puntato su quel cavolo di "max-width"!
Il sabato sera non è propriamente fatto per programmare! :)
@Carlo and @John thanks!