web-dev-qa-db-fra.com

Pourquoi JFolder :: files "Le chemin n'est pas un dossier" pour sql / xml lors de l'installation du composant?

J'obtiens l'erreur suivante lors de l'installation/désinstallation de mon composant personnalisé:

JFolder::files: Path is not a folder. Path: /var/www/joomla/administrator/components/com_mycomponent/sql/xml

La création d'un dossier xml vide apaise l'erreur. Il n'y a rien dans mon fichier de configuration xml ou ailleurs que je puisse voir appeler ce dossier, et aucune documentation nulle part où je peux trouver pourquoi j'obtiens cette erreur. J'espère que quelqu'un pourrait souligner la cause de cela et me sauver en fouillant dans le code de base pour le comprendre.

Quel est le but de ce dossier? Y a-t-il quelque chose qui est supposé être dedans?

EDIT: Voici un lien vers le composant fichier de configuration XML , et un vers le composant fichier de script d'installation .

1
calligraphic-io

Je pense que votre problème vient du fait que FOF utilise une classe d'installation supplémentaire pour la base de données et les schémas:

FOF est fourni avec la classe FOF30\Database\Installer. Contrairement à Joomla !, il ne base pas ses actions sur des numéros de version non fiables. Au lieu de cela, il exécutera des commandes SQL en fonction de l'existence de tables/champs, du type de champs signalé ou du résultat de la fonction copublic SQL personnalisée updateSchema ()

Il est donc suggéré de placer (appeler) deux fonctions supplémentaires - par exemple - dans votre script d'installation:

public function updateSchema()

Et lors de la désinstallation:

public function removeSchema()

Et vous devez fournir un fichier XML de schéma avec votre composant:

Les fichiers de schéma sont fournis au format XML. Vous n'avez besoin que d'un fichier XML par technologie de base de données. Par défaut, ces fichiers sont stockés dans le back-end de votre composant, sous le répertoire sql/xml. C'est quelque chose que vous pouvez remplacer par le paramètre de répertoire $ que vous passez au constructeur de classe.

Et la description complète des raisons et de l'utilisation de ce qui précède est ici: https://github.com/akeeba/fof/wiki/The-XML-Database-Schema-Installer

Vous pouvez voir l'utilisation de ce qui précède dans l'un des composants de l'auteur de FOF ici: https://github.com/akeeba/akeebasubs/tree/development/component/backend/sql

J'espère que cela vous éclairera sur le sujet.

1
Zollie