J'ai un champ de formulaire d'administration (zone de texte),
$fieldset->addField('ajax_time_interval', 'text', array(
'label' => Mage::helper('dealroom')->__('Page Refresh Time Interval'),
'class' => 'required-entry',
'required' => true,
'name' => 'ajax_time_interval',
));
Je dois définir une valeur par défaut pour ce champ de texte. J'ai essayé, m'y installant 'value' => '120',
. Mais ça ne marche pas.
$fieldset->addField('ajax_time_interval', 'text', array(
'label' => Mage::helper('dealroom')->__('Page Refresh Time Interval'),
'class' => 'required-entry',
'required' => true,
'name' => 'ajax_time_interval',
'value' => '120',
));
Comment définir une valeur par défaut dans ce domaine?
setValues
..Réponses:
Le champ de texte lui-même est-il affiché? Le cadre
'value' => '120'
me semble correct.la source
addValues()
méthode est utilisée par la suite, ces valeurs sont en cours de réécriture.Votre problème est que les valeurs que vous définissez avec la
addField()
méthode sont ensuite remplacées par laaddValues()
méthode qui tente de configurer les valeurs des champs d'un formulaire lorsque le formulaire est utilisé pour modifier des entités existantes ou qu'une erreur s'est produite lors de la soumission.Voici une solution de contournement. Vous obtenez probablement des valeurs avec une méthode protégée comme celle-ci:
Donc, à l'intérieur de votre
_prepareForm()
méthode, vous remplacez:avec:
la source
Merci à tous d'avoir consacré votre temps et vos efforts précieux. J'utilisais
setValues()
aprèsaddfields
. Les valeurs par défaut étaient donc effacées.Je l'ai surmonté en fournissant une
if
boucle, telle que:120 est mon heure par défaut ici.
la source
Pour tous ceux qui recherchent et travaillent sur 1.9 et ont ce qui suit
Vous pouvez effectuer les opérations suivantes sans avoir à modifier vos données existantes, juste au-dessus de cet emplacement de code:
Bien sûr, vous pouvez vérifier isset et autres, mais voici la version de base de la définition des valeurs par défaut.
la source
Vous pouvez utiliser
où
$data
est un tableau de champs de formulaire.la source
=> Vous pouvez ajouter l' attribut 'default' dans les champs du formulaire. Comme ça :
la source