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.