web-dev-qa-db-fra.com

Puis-je utiliser un seul fichier .xml pour installer des composants, des modules, des plug-ins et des fichiers multimédias?

J'essaie de créer un ensemble de composants, modules, plug-ins, modèles et fichiers multimédias standard pour la plupart des sites Web que je crée. Je me demandais si le fichier .xml pouvait gérer tout cela et si oui. Quelle est la meilleure façon de s'y prendre. Jusqu'ici c'est ce que j'ai:

<name>******</name>
<author>******</author>
<creationDate>May 2016</creationDate>
<packagename>MTInstall</packagename>
<version>1.0.0</version>
<url>http://www.******.com</url>
<packager>******</packager>
<packagerurl>http://www.*******.com</packagerurl>
<description>Package contains all components, plugins and modules</description>
<update>http://www.www.*******.com</update>

<files folder="packages">
    <file type="component" id="com_aclmanager" >com_aclmanager.Zip</file>
    <file type="component" id="admin_menu_manager" >com_admin-menu-manager.Zip</file>
    <file type="component" id="jce" >com_jce.Zip</file>
    <file type="plugin" id="plg_mtcustompagedata" group="system">plg_mtcustompagedata.Zip</file>
    <file type="plugin" id="plg_mtcustompagefields" group="system">plg_mtcustompagefields.Zip</file>
    <file type="plugin" id="plg_mtmodule" group="system">plg_mtmodule.Zip</file>
    <file type="plugin" id="plg_mtredirect" group="system">plg_mtredirect.Zip</file>
    <file type="plugin" id="plg_mtuserdata" group="system">plg_mtuserdata.Zip</file>
</files>

<media folder="packages" destination="mt_media">
    <filename>mttemplateMedia.Zip</filename>        
</media>

<install>
    <sql>
        <file charset="utf8" driver="mysql">install.mysql.sql</file>
    </sql>
</install>
<uninstall>
    <sql>
        <file charset="utf8" driver="mysql">uninstall.mysql.sql</file>
    </sql>
</uninstall>

Il semble manquer complètement les fichiers multimédias. Et lorsque j'y ajoute des modèles, il ne les trouve pas non plus.

Merci

1
HumanPew

Autant que je sache, <media> N'accepte pas les fichiers Zip dans <filename>.

Je pense que votre meilleure option sera de créer un script.php et d’utiliser la fonction postinstall() pour:

  1. Déplacez le fichier Zip dans le répertoire media
  2. Extraire le fichier Zip
  3. Supprimer le fichier zip

Jetez un oeil à Ajout d'un fichier de script d'installation/de désinstallation/de mise à jour pour plus d'informations

0
Lodder