Jump to content

Créer un dossier depuis l'install d'un module


Recommended Posts

Bonjour à tous,

 

Je suis en train de créer un module qui doit copier un fichier vers le chemin suivant:

_THEME_DIR_ . 'modules/nom_d_un_autre_module/views/templates/widgets/customtpls/monfichier.tpl'

Pour ce faire, je dois créer les dossiers soulignés.

Je pensais faire cela tout simplement :

<?php

if (!is_dir(dirname($destination)) || !file_exists(dirname($destination))) {
  mkdir(dirname($destination), 0644, true);
} else if (file_exists($destination)) {
  Tools::deleteFile($destination);
}

return false !== Tools::copy($source, $destination);

 

Mais j'ai des erreurs assez originales, sous Windows il me dit que la directory exist déjà, et sous Linux il me dit que je n'ai pas les droits.

 

Comment peut-on créer un dossier et des sous dossiers depuis PHP dans le dossier du thème courent ?

 

Merci d'avance,

Link to comment
Share on other sites

C'est une mauvaise pratique, pourquoi vouloir faire cela ?

Pourquoi ne pas simplement avoir les tpl de ton module dans ton module ?

En production il est courant que la majorité des répertoires soit en lecture seule pour plus de sécurité.

Les seules dossiers devant être ouvert en écriture sont config/xml, download, img, upload, var et éventuellement quelques autres mais il faut limiter le plus possible.

Certaines modules enregistrent des fichiers dans leur répertoire mais c'est également une mauvaise pratique.

Normalement et afin de faciliter la réplication et la montée en charge, il est plus propre de n'avoir que quelques dossiers ouvert en écriture.

Quote

If you need to store static files: we recommend putting temporary or cache files in prestashop’s /var/cache/<env>/modules/YOUR_MODULE/ directory, and static or shared files in prestashop’s /var/modules/YOUR_MODULE/ directory. Writing in the /modules directory is not recommended, because doing so will make it harder to use your module in distributed environments. In addition, by storing files outside your module’s directory, they are kept even if the module is uninstalled.

 

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...