Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Dans le contrôleur :
public function modifactuAction() { $this->view->titre = 'Modification d\'une actualité'; $params = $this->getRequest()->getParams(); $isUpdate = isset($params['a']); $params['a'] = (int)$params['a']; $valuesData = $this->_actuTable->find($params['a'])->current()->toArray(); $dateT = new Zend_Date(); $dateT->set($valuesData['date'], 'YYYY-MM-DD', 'fr_FR'); $valuesData['date'] = $dateT->toString('d-MM-YYYY'); $formActu = new DDI_Form_Actualites(); $formActu->setDefaults($valuesData) ->setAction($this->view->link('index' , 'modifactu', null, '', 'default', !$isUpdate)) ->submit->setLabel("Modifier"); if ($this->getRequest()->isPost()) { $formData = $this->getRequest()->getPost(); if ($formActu->isValid( $formData )) { $valuesData = $formActu->getValues(); if(isset($valuesData['image'])) { Zend_Debug::dump("FICHIER ENVOYE"); } else { Zend_Debug::dump("PAS DE FICHIER"); } //$this->_actuTable->setFromArray(array_intersect_key($formData, $valuesData)); //$this->_actuTable->save(); } } $this->view->form = $formActu; }
Mon problème est que lorsque j'affiche une ligne, mettons dans le titre, s'il possède un accent, il n'affiche rien dans le formulaire...
Par contre si dans le titre, il y a aucun accents, cela passe....
Dans ma configuration :
resources.db.adapter = PDO_MYSQL resources.db.params.host = localhost resources.db.params.username = root resources.db.params.password = resources.db.params.dbname = site2 resources.db.params.charset = "utf8"
J'ai fait exactement la même chose que dans le livre zfbook (que j'ai refais à ma manière)....
Quelqu'un peux aller m'aider ?
Merci
EDIT : cela se produit sur un champs uniquement.....
Voilà le form :
public function init() { $this->setName('formactualite'); $this->setAttrib("style", "width:80%"); $this->setAttrib('enctype', 'multipart/form-data'); $decorators = array( 'ViewHelper', 'Errors', array('Description', array('tag' => 'p', 'class' => 'description')), array('HtmlTag', array('tag' => 'td', 'align' => 'left')), array('Label', array('tag' => 'th')), array(array('tr' => 'HtmlTag'), array('tag' => 'tr')) ); $id = new Zend_Form_Element_Hidden('id'); $id->addFilter('Int'); //Date $dateAff = date('d-m-Y'); $date = new Zend_Form_Element_Text('date'); $date->setLabel('Date') ->setValue($dateAff) ->setRequired(true) ->setAttrib('id', 'date') ->setAttrib('readonly', 'true') ->addDecorators($decorators); $usageValidators = array(new Zend_Validate_StringLength(0, 100)); $titre = new Zend_Form_Element_Text('titre'); $titre->addFilters(array('StringTrim', 'StringToLower')) ->addValidators($usageValidators) ->setRequired(true) ->setLabel("Titre") ->setAttrib("id", "titre") ->addDecorators($decorators); $texte = new Zend_Form_Element_Textarea('texte'); $texte->setLabel('Texte') ->setRequired(true) ->setAttrib('id', 'texte') ->addDecorators($decorators); $image = new Zend_Form_Element_File('image'); $image->setLabel('Image') ->addValidator('Size', false, '10MB') ->addValidator('Extension', false,'jpg,png,gif') ->setDecorators( array('File', 'Description', 'Errors', array(array('data'=>'HtmlTag'), array('tag' => 'td')), array('Label', array('tag' => 'th')), array(array('row'=>'HtmlTag'),array('tag'=>'tr')) ) ) ->setAttrib('id', 'image') ->setDestination(PUBLIC_PATH.'/accueil/actualites/'); $usageValidators = array(new Zend_Validate_StringLength(0, 25)); $legende = new Zend_Form_Element_Text('legende'); $legende->setLabel('Légende') ->addValidators($usageValidators) ->addDecorators($decorators); $zoom = new Zend_Form_Element_Radio('zoom', array('separator' => ' - ')); $zoom->setLabel('Zoom') ->addDecorators($decorators) ->setMultiOptions(array('1' => ' Oui', '0' => ' Non')) ->setValue('0'); $submit = new Zend_Form_Element_Submit('submit'); $submit->setAttrib('id', 'boutonenvoyer') ->setLabel('Valider') ->addDecorators(array( 'ViewHelper', array(array('td' => 'HtmlTag'), array('tag' => 'td', 'colspan' => 2)), array(array('tr' => 'HtmlTag'), array('tag' => 'tr'))) ); $this->addElements(array($id, $date, $titre, $texte, $image, $legende, $zoom, $submit)); $this->setDecorators( array( 'FormElements', array('HtmlTag', array('tag' => 'table')), 'Form' ) ); }
Dernière modification par Paul75 (16-01-2011 00:21:43)
Hors ligne
Bonjour, je ne sais pas si ton problème est toujours d'actualité, mais ça pourra aider d'autres personnes.
J'ai eu ce problème, et c'était parce que mon fichier n'était pas en utf-8, mais en ansi. Pour régler ça, j'ai converti le fichier en utf-8 (sans bom). Avec notepad++ : encodage > convertir en utf-8 (sans BOM)
Hors ligne
Pages: 1