J'ai créé un modèle Joomla 3. Lorsque j'installe le modèle, j'aimerais que les images du modèle soient automatiquement installées dans le joomlaroot/images
emplacement. La raison pour laquelle je voudrais faire cela est que plusieurs modèles partagent les mêmes images. Je sais que je peux manuellement placer les images dans le dossier de mon choix, mais je préférerais que ce soit fait automatiquement lorsque j'installe le modèle.
En gros, vous pouvez utiliser un script d’installation et créer/copier les fichiers après l’installation. Le problème est que les modèles AFAIK ne déclenchent pas le script.
Je vous suggère de créer un package , puis d’y inclure votre modèle, car le programme d’installation du package doit appeler le script d’installation.
Créez ensuite votre script postflight en l'ajoutant à votre fichier XML:
<scriptfile>script.php</scriptfile>
Et quelque chose comme ça dans le fichier script.php
(Non testé):
<?php
defined('_JEXEC') or die('Restricted access');
class pkg_helloWorldInstallerScript {
function install($parent) {
jimport('joomla.filesystem.folder');
jimport('joomla.filesystem.file');
//change this to the name of the folder you want to create
$newfolder = 'myfolder';
if(JFolder::create(JUri::root() . 'images/' . $newfolder)) {
//duplicate the line below as many times as you want for each file you want to move
JFile::move(JUri::root() . 'templates/TEMPLATENAME/images/image.png', JUri::root() . 'images/' . $newfolder);
}
}
}
?>