IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

plugin privé chemin


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 131
    Par défaut plugin privé chemin
    slt,

    je fais un plugin sur les chemin upload et j'ai un PB

    voici ma class
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    class Nico  {
        /**
    	 * Retou
         *
         * @return <type>
         */
        public $image ;
        public $chemin ;
     
     
        public function __construct($chemin,$image)
        {
            $this->chemin= $chemin;
            $this->image = $image;
        }
    	public function getUploadFileSrc()
    	{
    		if (!$image) {
    			return null;
    		}
     
    		return $this->getUploadDirSrc().'/'.$image;
    	}
            public function getUploadFileSrc2()
    	{
    		if (!$image) {
    			return null;
    		}
     
    		return $this->getUploadDirSrc2().'/'.$image;
    	}
    	/**
    	 * Retourne le chemin relatif de la photo miniature
    	 */
    	public function getUploadFileSrcMini()
    	{
    		if (!$image) {
    			return null;
    		}
     
    		return $this->getUploadDirSrc().'/mini_Upload/'.$image;
    	}
     
    	/**
    	 * Retourne le chemin absolu de la photo
    	 */
    	public function getUploadFilePath()
    	{
    		if (!$image) {
    			return null;
    		}
     
    		return $this->getUploadDirPath().'/'.$image;
    	}
     
    	/**
    	 * Retourne le chemin absolu de la photo miniature
    	 */
    	public function getUploadFileMini()
    	{
    		if (!$image) {
    			return null;
    		}
     
    		return $this->getUploadDirMini().'/'.$image;
    	}
     
    	/**
    	 * Retourne le chemin du dossier relatif
    	 */
    	public function getUploadDirSrc()
    	{
    		return '/uploads/'.$chemin;
    	}
            public function getUploadDirSrc2()
    	{
    		return $chemin;
    	}
    	/**
    	 * Retourne le chemin du dossier absolu
    	 */
    	public function getUploadDirPath()
    	{
    		return sfConfig::get('sf_upload_dir').$chemin;
    	}
     
    	/**
    	 * Retourne le chemin du dossier miniature absolu
    	 */
    	public function getUploadDirMini()
    	{
    		return $this->getUploadDirPath().'/mini_Upload';
    	}
            /**
    * Effectué avant la sauvegarde
    */
    public function preSave($event)
    {
     
    // $event->getInvoker permet de récupérer le dernier enregistrement (Doctrine_Record)
    // getModified(true) permet de récupérer les anciennes valeurs
     
    $modified = $event->getInvoker()->getModified( true );
     
    // On regarde si le champ photo a été modifié
     
    if (isset($modified[$image]))
    {
    	$old_path = $this->getUploadDirPath() . '/' . $modified[$image];
    	$old_mini = $this->getUploadDirMini().'/'. $modified[$image];
     
         // Si le fichier existe, on le supprime
    	if (file_exists($old_path))
    	{
    		@unlink($old_path);
     
    	}
     
    	// Idem pour la miniature
    	if (file_exists($old_mini))
    	{
    		@unlink($old_mini);
    	}
     }
    }
     
    public function postDelete($event)
    {
      // On supprime la photo si le fichier existe et la miniature
      if (file_exists($event->getInvoker()->getUploadFilePath()))
      {
    	@unlink($event->getInvoker()->getUploadFilePath());
    	@unlink($event->getInvoker()->getUploadFileMini());
      }
    }
     
    }
    dans mon fichier from
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    class CquesnelCollectionForm extends BaseCquesnelCollectionForm
    {
      public function configure()
      { 
     
     
    $this->object = new Nico('essai', $this->getImg());
          $this->setWidget('img', new sfWidgetFormInputFileEditable(array(
    	  'label'     => 'Photo',
    	  'file_src'    => $this->getObject()->getUploadFileSrcMini(),
    	  'edit_mode'   => !$this->isNew(),
    	  'is_image'    => $this->getObject()->getUploadFileSrc(),
    	  'delete_label' => 'Supprimer',
    	  'template'  => '<div>%file%<br />%input%<br />%delete% %delete_label%</div>',
     
     
      )));}}
    il me donne comme error ->
    Error sfException Call to undefined method CquesnelCollectionForm::getImg.
    la je cherche mais je vois pas.
    merci de votre aide

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Dans la classe CquesnelCollectionForm

    tu fais appel à une méthode getImg qui n'est pas définie...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 131
    Par défaut
    ça je l'avais bien compris mais je ne vois pas ou est l'erreur peu tu m'aider ?

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je veux bien, mais je ne sais pas trop comment

    Questions :

    Que devrait faire cette méthode getImg() ?

    Pourquoi l'utiliser là ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 131
    Par défaut
    getImg tu t'en doute récuper l'image upload et est assigné vers les répertoire relatif et absolut. Le constructeur prend deux valeurs "le dossier absolut" et "le nom de la méthode" a assigné. L'idée est que si qqun a appelé sa méthode getImage il n'a pas a changer tous les getImg dans la class

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je n'imagine surtout rien, en deux ans sur symfony, j'ai vu beaucoup de choses qui étaient très différente de ce que j'imaginais, donc, j'évite

    Ce que je sais c'est que ce n'est pas une méthode standard de l'objet sfForm ou sfFormSymfony ou tout simplement d'aucun objets standards de symfony.

    Donc tu dois bien la définir quelque part, mais où ?

Discussions similaires

  1. [1.x] creation d'un plugin privé
    Par erictomcat dans le forum Symfony
    Réponses: 3
    Dernier message: 03/01/2014, 23h50
  2. Réponses: 1
    Dernier message: 03/02/2010, 17h21
  3. connaitre le chemin du repertoire ou se trouve mon plugin
    Par bitbis dans le forum Eclipse Java
    Réponses: 10
    Dernier message: 04/07/2007, 15h53
  4. [Plugin] Récuperation du chemin d'un fichier!
    Par GRM dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 21/03/2005, 09h39
  5. [Plugin Tomcat] Chemin relatif
    Par cloogy dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 01/03/2005, 16h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo