Sélectionnez votre langue

Dans cet article, Alexandre Elisè présente une vitrine du tout nouveau Web Services Joomla 4.

System-Jiji

Jiji est un plugin système exploitant le Joomla! 4 services Web en ajoutant des actions personnalisées au cœur de Joomla! console sans « hacks » en utilisant DI Container et autres Joomla! 4 capacités avancées.

Pourquoi?

J'ai commencé Jiji en décembre 2020 parce qu'à cette époque je voulais une sorte de preuve de concept, un projet de jouet pour essayer le nouveau Joomla! 4 qui est basée sur la console Symfony. Si vous connaissez déjà la console Symfony, vous serez chez vous avec Joomla ! 4 Console.

Quoi?

Le nom "Jiji" vient de ce que je pensais être un nom de "fille mignonne" basé sur une version courte du surnom de notre bien-aimé "Joomla!" qui est d'ailleurs une marque d'Open Source Matters.

Comment?

Jiji est un plugin système qui " ajoute " ou " enregistre " de nouvelles commandes au script cli de la console joomla par défaut JPATH_ROOT/cli/joomla.php
Je pourrais créer mon propre script de console pour celui nommé JPATH_ROOT/cli/jiji.phpmais j'ai pensé qu'il serait peut-être préférable de n'avoir qu'un seul point d'entrée pour joomla cli, ce qui facilite la mémorisation. Vous me direz si je me trompe. Désireux d'entendre vos commentaires à ce sujet.
Le code « Jiji » se trouve dans une bibliothèque placée dans le répertoire src à l'intérieur du plugin.
il est espace de noms comme AE\Library\Jijile nom du fournisseur AE ne sont que mes initiales et la bibliothèque s'appelle également Jiji tout comme le plugin mais avec CamelCase.
Le répertoire Behavior contient tous les traits Php utilisés par le plugin. Les traits sont là depuis PHP 5.4. Fondamentalement, ce sont des comportements courants utilisés dans des classes PHP indépendantes. En d'autres termes, lorsque vous vous retrouvez à copier/coller encore et encore une fonctionnalité d'une Classe à une autre, cela peut être un bon candidat pour un Trait.
Le cœur de ce plugin est dans le AE\Library\Jiji\Consoleespace de noms. Dans le répertoire correspondant, vous trouverez ma première commande de console nommée HelloSuperJoomlerCommand.php qui dit simplement "Bonjour Super Joomler". Mais un autre répertoire plus intéressant est le répertoire des articles où se trouvent toutes les commandes liées aux articles.

  • GETtous les articles (Parcourir)
  • GETun article par identifiant (Lire)
  • PATCHun article par identifiant (Modifier)
  • POSTun article par identifiant (Ajouter)
  • DELETEun article par identifiant (Supprimer)

Afin de DELETEvous devez d'abord faire un PATCHavec au minimum l'identifiant de catégorie, le titre et l'état comme -2 de l'article que vous souhaitez SUPPRIMER.
Exemple de charge utile JSON : ' {“catid”:64, “title”:“My edited title”, “state”:-2}
"Jiji" peut utiliser un fichier JSON ou une chaîne JSON comme charge utile pour vos requêtes contenant un corps.

INSTRUCTIONS:

1 - L'extension zip est dans le répertoire build/ de ce dépôt

2 - Installez le plugin Jiji comme n'importe quel autre Joomla! 4 rallonges.

3 - Suivez ces instructions

JPATH_ROOT: le répertoire racine de votre site Web joomla 4. Changez cela avec le chemin absolu du répertoire pertinent

J4X_BASE_PATH: Votre Joomla! 4 URL de base (par exemple : https://example.com )

J4X_API_TOKEN: Votre Joomla! 4 Jeton API

Vous pouvez l'utiliser de manière non interactive en ajoutant le -n

Exécutez la commande de base Hello Super Joomler

  
php JPATH_ROOT/cli/joomla.php jiji:bonjour  
  
 

Exécuter la commande Parcourir l'article

  
php JPATH_ROOT/cli/joomla.php -n --base-path=J4X_BASE_PATH --api-token=J4X_API_TOKEN article:parcourir  
  
 

Exécutez la commande Lire l'article (par exemple : id=1)

  
php JPATH_ROOT/cli/joomla.php -n --base-path=J4X_BASE_PATH --api-token=J4X_API_TOKEN article : lire --id=1  
  
 

Exécutez la commande Ajouter un article

utiliser une chaîne JSON comme charge utile

  
php JPATH_ROOT/cli/joomla.php -n --base-path=J4X_BASE_PATH --api-token=J4X_API_TOKEN article:add --item-data='{"alias": "my-article","articletext": " Mon texte","catid": 64,"language": "*","metadesc": "","metakey": "","title": "Voici un article"}'  
  
 

ou plus commodément en utilisant un fichier JSON comme charge utile

  
php JPATH_ROOT/cli/joomla.php -n --base-path=J4X_BASE_PATH --api-token=J4X_API_TOKEN article:add --item-data='path/to/add-article.json'  
  
 

Exécutez la commande Modifier l'article (par exemple : id=1)

utiliser une chaîne JSON comme charge utile

  
php JPATH_ROOT/cli/joomla.php -n --base-path=J4X_BASE_PATH --api-token=J4X_API_TOKEN article:edit --id=1 --item-data='{"catid": 64,"title": "Voici un autre article"}'  
  
 

ou plus commodément en utilisant un fichier JSON comme charge utile

  
php JPATH_ROOT/cli/joomla.php -n --base-path=J4X_BASE_PATH --api-token=J4X_API_TOKEN article:edit --id=1 --item-data='path/to/edit-article.json'  
  
 

Exécutez la commande Supprimer l'article (par exemple : id=1)

Cela doit être fait en deux étapes en raison de cette nouvelle façon de le faire

1 - Exécutez la commande Modifier l'article sur l'article que vous souhaitez supprimer en changeant son état en -2 (Corbeille)

2 - Exécutez la commande Supprimer l'article sur l'article que vous souhaitez supprimer.

Étape 1 pour supprimer l'article

utiliser une chaîne JSON comme charge utile

  
php JPATH_ROOT/cli/joomla.php -n --base-path=J4X_BASE_PATH --api-token=J4X_API_TOKEN article:edit --id=1 --item-data='{"catid": 64,"title": "Voici un autre article", "état": -2}'  
  
 

ou plus commodément en utilisant un fichier JSON comme charge utile

  
php JPATH_ROOT/cli/joomla.php -n --base-path=J4X_BASE_PATH --api-token=J4X_API_TOKEN article:edit --id=1 --item-data='path/to/delete-step-1-article .json'  
  
 

Étape 2 Supprimer l'article

  
php JPATH_ROOT/cli/joomla.php -n --base-path=J4X_BASE_PATH --api-token=J4X_API_TOKEN article:delete --id=1  
  
 

Aucun commentaire