Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 14-02-2012 12:28:28

gto6911
Nouveau membre
Date d'inscription: 14-02-2012
Messages: 6

Message d'erreur Zend

Bonjour à tous,

J'ai beaucoup cherché mais n'ai trouvé nul part ma réponse. J'ai essayé beaucoup de choses aussi mais sans succès ^^

J'aimerais tout simplement savoir si lors d'un envoi de formulaire (par exemple) on peut désactiver les messages d'erreurs par défaut (qui sont value is required and can't be empty) ??

J'aurais également une deuxième question un peu moins importante mais qui m'agace un peu quand même ^^
J'aimerais traduire les messages en français, j'ai vu beaucoup de tuto mais certains ne sont plus à jour.
J'ai donc vu quelque chose qui ressemblait à ça :

<?php
      $translator = new Zend_Translate(
          'array',
          '/resources/languages',
          $language,
          array('scan' => Zend_Locale::LOCALE_DIRECTORY)
      );
      Zend_Validate_Abstract::setDefaultTranslator($translator);
?>

Cependant je n'ai aucun dossier ressources/languages (j'ai bien pris la version full de zend). Es-ce une erreur de compréhension ??

Je vous remercie de votre aide.

Cordialement,

Hors ligne

 

#2 14-02-2012 13:42:38

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: Message d'erreur Zend

Question 1 : un truc ds le genre peut être :
$element->removeDecorator('Errors')
              ->addErrorMessage("Nouveau message d'erreur.");

Question 2 : initialise ça ds le bootstrap c'est plus simple, et il y a bien un dossier /resources dans l'archive full du ZF

Hors ligne

 

#3 15-02-2012 01:42:38

Doubleslash
Membre
Date d'inscription: 28-05-2010
Messages: 10

Re: Message d'erreur Zend

Pour les traductions dans les formulaires, c'est super simple.
Déjà, il faut prendre la version complète de ZF (avec le dossier "resources" qui contient un dossier "languages" et tout ce qu'il faut dedans).

Ensuite, dans ton bootstrap, tu ajoute ceci :

Code:

[lang=php]

/**
 * Exemple d'utilisation de Zend_Translate avec les traductions par défaut de ZF 1.11
 * @return null On ne retourne rien ici
 */

public function _initTranslate(){

// On définit la langue sur fr, mais ça peut être en, de, etc... voir le contenu du dossier resources pour avoir la liste complète.
$language = 'fr';

// On définit le traducteur à utiliser
$translate = new Zend_Translate(
            array(
                'adapter' => 'array',
                'content' => APPLICATION_PATH . '/../resources/languages', //ici, cela dépendra de tes dossiers, mais si tu as suivi les normes le dossier "resources" se trouve au même niveau qu'application, et le boostrap dans application.
                'locale'  => $language,
                'scan' => Zend_Translate::LOCALE_DIRECTORY
            );

// Cas qui nous intéresse ici, on applique le traducteur uniquement aux messages de validation :
Zend_Validate_Abstract::setDefaultTranslator($translate);

}

Plus d'information ici dans la doc super bien faite de Zend Framework -> il faut juste savoir que $translate doit être un objet de type Zend_Translate (=> plus d'infos ici)

En espérant que cela te soit utile. Les traductions, une fois qu'on y a gouté, c'est le pied !

EDIT : Je viens de vérifier, dans le fichier "Zend Framework 1.11.11 Full", tu as un dossier "resources" qu'il te faut copier au même endroit que tes dossiers application et library.

Bonne soirée,
Bruno.

Dernière modification par Doubleslash (15-02-2012 01:48:49)

Hors ligne

 

#4 15-02-2012 15:21:31

gto6911
Nouveau membre
Date d'inscription: 14-02-2012
Messages: 6

Re: Message d'erreur Zend

Bonjour,

Merci à vous deux. Je suis en cours je regarde ça dès ce soir. Et je pense que je vais re-dl Zend pour trouver ce fameux dossier.

Encore merci, je vous tiens au courant ce soir.

Marie

EDIT : Honte sur moi je viens de regarder et comme j'avais eu pas mal de galère pour mettre en place zf tools, j'ai fais plein de copié collé dans tous les sens... Effectivement j'ai bien mon dossier ressources mais pas ou il faut ahah. Bref je regarde le code dès ce soir.

Dernière modification par gto6911 (15-02-2012 15:50:58)

Hors ligne

 

#5 15-02-2012 19:31:23

gto6911
Nouveau membre
Date d'inscription: 14-02-2012
Messages: 6

Re: Message d'erreur Zend

Voilà c'est encore moi.

Je tenais à vous remercier tous les deux. La traduction marche nikel (mis à part des petits soucis d'accents mais je pense savoir d'où cela vient), une fois que le dossier est bien à sa place ^^.
Quant à la suppression des messages d'erreurs, j'avais déjà vu cette méthode (removeDecorators) mais comme je construis mon formulaire en faisant directement $this->addElement(je définis un champ) au lieu de créer mon élément et ensuite de le rajouter à mon $this, eh bien le removeDecorators ne marchait pas.

Voilà voilà.
Encore un grand merci pour votre aide.

Marie

Hors ligne

 

#6 16-02-2012 12:15:46

To1n00
Nouveau membre
Date d'inscription: 16-02-2012
Messages: 4

Re: Message d'erreur Zend

Hello,

Enorme ce petit bout de code Doubleslash !
Merci, tu viens de régler mon soucis de traduction sans le moindre effort ! (je "kiffe" de plus en plus ZF !)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages