Bonjour, je developpe un composant pour joomla et j'aimerai lors de l'installation de mon composant copier les fichiers qui sont dans mon dossier "assets" a l'intérieur du dossiers "media/mon_composant" de la racine de mon site. Pour pouvoir utiliser la ligne de code suivant:
Voici la structure mon composant:
Voici le contenu de mon fichier mgwaffiliate.xml
Et lors de l'installation, j'ai eu cette erreur:
JInstaller: :Install: le fichier n'existe pas [ROOT][TMP]/install_6526990a41df8/com_mgwaffiliate/assets/css/mgwaffiliate.css
Au niveau du dossier media de la racine. Mon dossier com_mgwaffiliate est crée mais le dossier css de meme que le fichier mgwaffiliate.css n'est pas copier.
Avez vous une solution a me suggerer ou une documentation qui explique bien le processus.
Merci d'avance.
Code PHP:
use Joomla\CMS\Factory;
// Inclure le fichier CSS dans la page
JFactory::getDocument()->addStyleSheet(JUri::root(true) . '/media/com_mgwaffiliate/css/mgwaffiliate.css');
Voici le contenu de mon fichier mgwaffiliate.xml
Code HTML:
<?xml version="1.0" encoding="utf-8"?> <extension type="component" method="upgrade"> <!-- 'version' attribute for extension tag is no longer used --> <name>MGW Affiliate</name> <!-- The following elements are optional and free of formatting constraints --> <creationDate>Octobre 2023</creationDate> <!-- Dummy author, feel free to replace anywhere you see it--> <author>Site</author> <authorUrl>https://site.com</authorUrl> <copyright>site</copyright> <license>GPL v3</license> <!-- The version string is recorded in the components table --> <version>0.0.7</version> <!-- The description is optional and defaults to the name --> <description> A site component! </description> <!-- This is the PHP namespace under which the extension's code is organised. It should follow this format: Vendor\Component\ComponentName "Vendor" can be your company or your own name The "ComponentName" section MUST match the name used everywhere else for your component. Whatever the name of this XML file is, the namespace must match (ignoring CamelCase). --> <namespace path="src/">Madgic\Component\MgwAffiliate</namespace> <files folder="site/"> <folder>assets</folder> <folder>language</folder> <folder>src</folder> <folder>tmpl</folder> <filename>assets/css/mgwaffiliate.css</filename> </files> <media destination="com_mgwaffiliate" folder="media"> <filename>assets/css/mgwaffiliate.css</filename> </media> <languages> <language tag="en-GB">site/language/en-GB/en-GB.com_mgwaffiliate.ini</language> </languages> <administration> <!-- The link that will appear in the Admin panel's "Components" menu --> <menu link="index.php?option=com_mgwaffiliate">MGW Affiliate</menu> <!-- List of files and folders to copy. Note the 'folder' attribute. This is the name of the folder in your component package to copy FROM --> <files folder="admin/"> <folder>assets</folder> <folder>language</folder> <folder>services</folder> <folder>sql</folder> <folder>src</folder> <folder>tmpl</folder> </files> <languages> <language tag="en-GB">admin/language/en-GB/en-GB.com_mgwaffiliate.ini</language> <language tag="en-GB">admin/language/en-GB/en-GB.com_mgwaffiliate.sys.ini</language> </languages> </administration> <install> <sql> <file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file> </sql> </install> <uninstall> <sql> <file driver="mysql" charset="utf8">sql/uninstall.mysql.utf8.sql</file> </sql> </uninstall> <update> <schemas> <schemapath type="mysql">sql/updates/mysql</schemapath> </schemas> </update> </extension>
JInstaller: :Install: le fichier n'existe pas [ROOT][TMP]/install_6526990a41df8/com_mgwaffiliate/assets/css/mgwaffiliate.css
Au niveau du dossier media de la racine. Mon dossier com_mgwaffiliate est crée mais le dossier css de meme que le fichier mgwaffiliate.css n'est pas copier.
Avez vous une solution a me suggerer ou une documentation qui explique bien le processus.
Merci d'avance.
Commentaire