web-dev-qa-db-fra.com

Publier automatiquement le plugin après l'installation du modèle

Je souhaite regrouper mon modèle avec un plug-in et je souhaite que le plug-in soit automatiquement publié après l'installation du modèle. Je sais que cela est possible avec l'installation d'un composant ou d'un plug-in, mais est-il possible de le faire avec l'installation d'un modèle? Comment puis je faire ça?

1
webchun

Vous devez créer un programme d'installation de package. Un paquet peut regrouper un modèle, des modules, des plugins, etc. dans le même fichier installable.

Voir la documentation Joomla pour détails de la création de packages .

Actuellement, il n'y a pas de méthode native pour activer automatiquement un plugin lors de l'installation, mais vous pouvez le faire avec un script supplémentaire. Les détails de l’approche scriptée et une longue discussion sur les avantages et les inconvénients de l’ajout d’une fonctionnalité permettant l’auto-activation des plugins sont disponibles dans cet article fil du développeur Joomla sur G + .

L'approche par script nécessite que vous vous connectiez à un script supplémentaire dans votre manifeste de paquet, puis que vous l'utilisiez pour activer votre plugin:

Ajouter un script au manifeste:

<scriptfile>script.php</scriptfile>

Faites ceci dans votre script.php:

class PlgSystemPluginnameInstallerScript
{
 public function install($parent)
 {
  // Enable plugin
  $db  = JFactory::getDbo();
  $query = $db->getQuery(true);
  $query->update('#__extensions');
  $query->set($db->quoteName('enabled') . ' = 1');
  $query->where($db->quoteName('element') . ' = ' . $db->quote('pluginname'));
  $query->where($db->quoteName('type') . ' = ' . $db->quote('plugin'));
  $db->setQuery($query);
  $db->execute();
 }
}
3
Seth Warburton