[Résolu] Créer un fichier template via l'administration

Dakin QueliaDakin Quelia Member
mai 2019 modifié dans Entraide
Bonjour à toutes et à tous,

Je viens vers vous car j'ai beau réfléchir et trouver une solution à mon problème.

J'essaye de créer un fichier template (.html) via le panneau d'administration dans la partie de modification des templates. Ce fichier sera directement créé dans le dossier du thème (soit celui sélectionné ce qui devrait donner : "themes/defaut/templates/monfichier.html").

Voici le code : https://pastebin.com/hBYdUYqu

J'ai un souci, à priori, au niveau du chemin vers le fichier. Je précise que justement le fichier n'existe pas et je souhaite le créer (d'où l'utilité de la fonction write()). Et d'après la fonction write() de la classe class.plx.utils.php elle est censée créer le fichier si ce dernier n'existe pas.

J'ai dû rater quelque chose quelque part.

Cela me retourne donc forcément cette erreur.

Je vous remercie d'avance.

Bien à vous
Mots clés:

Réponses

  • Bonsoir,

    Personne n'a une idée?

    Bien à vous
  • En fait, il faut que ton fichier html existe pour que write puisse écrire dedans. Donc il faut utiliser touch par exemple puis ensuite write. Sinon, ça ne fonctionnera pas.
    Par quel moyen veux tu créer ce fichier : à la main ? via un plugin ?
  • Bonsoir,

    J'essaye que justement ce fichier soit créé via un champ dans l'administration. Ce champ est au-dessus du sélecteur du fichier template.

    La méthode write() pourtant semble indiquer que si le fichier n'existe pas, on tente de le créer. De ce fait, il aurait dû le créer.
    Stéphane F a écrit:
    * Mode écriture seule; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer.

    Mais rien n'y fait au final.

    Qu'entends-tu par "Touch"?

    Bien à toi
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    février 2019 modifié
    Touch est une instruction pour créer un fichier vide. Mais surtout, il te permet de préciser la date de création du fichier.

    Il y a 2 choses à vérifier :
    [list=*]
    [*]Le nom de ton fichier ne peut pas être vide (voir 1er message d'erreur : filename can not be empty)[/*]
    [*]le dossier themes/defaut/templates. Sinon le créer avec mkdir[/*]
    [/list]

    En principe, tu n'as pas besoin d'utiliser chmod
  • Dakin QueliaDakin Quelia Member
    février 2019 modifié
    Je te remercie pour les infos, bazooka07. C'est très intéressant.

    Et on peut créer le contenu du fichier avec cette fonction? Je voudrais un contenu par "défaut" dans le fichier. :)

    Edité : C'est bon, j'ai réussi à créer le fichier avec touch() et à l'écrire avec write().

    Il ne me reste plus qu'à trouver le pourquoi ça n'affiche pas un message réussite ou d'échec.

    Merci à tous les deux. :)
Connectez-vous ou Inscrivez-vous pour répondre.