Jump to content

ModuleAdminController postProcess Errors


Bender33

Recommended Posts

Bonjour,

 

Je suis en train de développer un contrôleur admin contentant un simple formulaire (2 champs texte + un fichier SVG à uploader) sous PrestaShop 1.6.0.9.

 

Mon problème est que je ne parviens pas à gérer les potentielles erreurs suite à la validation de mon formulaire, notamment au niveau de l'upload du fichier SVG.

 

Voici ma fonction postProcess présente dans ma classe AdminModuleCustomController qui étend ModuleAdminController :

public function postProcess(){   

    parent::postProcess(); 

    if (Tools::isSubmit('submitAddmodule_custom')){ 
        
        if (!count($this->errors) && isset($_FILES['svg'],$_FILES['svg']['tmp_name']) && !empty($_FILES['svg']['tmp_name'])){ 
               	
            require_once realpath(dirname(__FILE__) . '/../../lib/class.upload.php');
                
            $handle = new upload($_FILES['svg']); 
            $error = false;
                
            if($handle->uploaded){ 
                if(strtolower($handle->file_src_name_ext) === "svg"){
                    $handle->process(realpath(dirname(__FILE__) . '/../../textures/'));
                    if(!$handle->processed){
                        $error = "Erreur lors de l'upload du fichier SVG.";
                    }
                }else{
                    $error = "Seuls les fichiers SVG sont autorisés.";
                } 
            }else{
                $error = "Erreur lors de l'upload du fichier SVG.";
            }   
            $handle->Clean();
                
            if($error){
                $this->errors[] = Tools::displayError($error);                    
            }                
        }            
    }
} 

Déjà, est-ce la bonne méthode afin d'uploader proprement un fichier et de tester son extension (ou mime) sous PrestaShop (je débute sous ce CMS) ?

 

Lorsqu'une erreur est détectée et est pushée dans $this->errors, rien ne se passe. Je suis redirigé sur ma liste avec un message de validation.

 

Auriez-vous quelques conseils à me donner ?

 

Merci d'avance.

Edited by Bender33 (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...