Injection de dépendance présente depuis Joomla! 3.0.0

Salut super joomlers!

 

Saviez-vous que l'injection de dépendance existait déjà depuis Joomla! 3.0.0 ?

Vous ne savez pas ce que c'est ?

En gros, l'injection de dépendance permet au développeur de ne pas créer des classes "en dur" un peu partout dans l'application,

mais plutôt "injecter" sa propre instance de la classe dont dépend le code utilisé.

C'est surtout intéressant dans le contexte des test unitaires ou la développeuse préfère injecter ses propres classes appélées "Tests Doubles" ou "Doublure de tests"

Voici un exemple dans le coeur de Joomla!

Dans le fichier situé JPATH_ROOT/libraries/src/Application/BaseApplication.php cet exemple suppose que vous avez Joomla! 3.9.23 dernière version stable à la date de cet article.

dependency-injection-since-joomla-3-0-0

ContentCli

Salut super joomlers!

Vous avez un site joomla de test et vous souhaitez créer des articles d'exemple en masse en une seule commande

Découvrez ContentCli un petit script cli créé pour Joomla! 3 permettant  de créér jusqu'a 10000 articles en une seule commande

Connecter un utilisateur Joomla! grâce à un simple code en PHP

Salut super joomlers!

Juste une petite astuce pour ceux et celles qui veulent connecter un utilisateur Joomla! par code plutôt que par un formulaire.

Intéressé.e? Poursuivons...

Voici le code:


/**
* @var bool $result_login true on successful login, false otherwise
*/
$result_login = Factory::getApplication()->login(
                    [
                        'username' => 'example',
                        'password' => 'mysupersecretpassword'
                    ],
                    [
                        'remember' => true,
                        'silent'   => true
                    ]
                );

Options intéressantes:
remember: Qui permet d'activer se souvenir de moi lors de la connexion automatique.
silent: Qui permet de renvoyer un booléen (dans ce cas faux au lieu d'une exception en cas d'erreur d'authentification).

 

A bientôt pour de nouvelles astuces...

3 étapes pour utiliser les webservices Joomla! 4 dans Docker

Salut super joomlers!

Voici quelques commandes à taper dans votre terminal (sur Linux ou macOS et peut-être Windows)

  1. Installer la dernière version de Docker sur votre machine
  2. git clone https://github.com/alexandreelise/j4x-docker j4x
  3. cd j4x && chmod 700 develop && ./develop up --build

Note: Changer les informations nécessaires à vos besoins. C'est encore en phase de développement..

C'est une installation non officielle de Joomla 4 sur Docker. Pour plus d'information ce lien.

Comment utiliser du SQL modulaire dans votre manifest XML

Salut super joomlers!

Voici une nouvelle astuce croustillante qui vient du coeur du code de Joomla!.

Saviez-vous que vous pouviez utiliser plusieurs fichiers SQL pour le processus d'installation de votre extension Joomla?

Ces fichiers sont lus de façon séquentielle (l'un après l'autre) dans l'ordre dans lequel ils apparaissent dans le fichier xml du manifest de votre extension.

Voici un exemple. Prêtez une attention particulière à la partie concernant l'installation (install).

Des champs personnalisés en plein coeur

Salut super joomlers!

Un ami joomler qui se reconnaitra m'a demandé comment faire pour intégrer $this->item->jcfields dans un module comme mod_articles_latest

J'ai accepté le défi et je partage le resultat avec vous. La communauté de Joomla!. La famille des joomlers.

Découvrez sans plus attendre l'exemple de code à utiliser, bien commenté pour réussir le challenge.

Souriez, vous êtes notre invité : Le Pouvoir du Visiteur

Salut super joomlers!

Dans votre aventure avec Joomla! vous tomberez de temps à autre sur

un problème qui peut être résolu par : "Le Pouvoir du Visiteur"

Il s'agit du fameux niveau d'accès Guest ou en français Visiteur, 

présent par défaut dans le coeur de Joomla!

 

Le Pouvoir du Visiteur réside dans le fait que l'on puisse afficher des éléments de notre site Joomla! (menus, articles, modules,etc...) uniquement aux visiteurs de notre site web (utilisateurs non connectés sur notre site Joomla!)

Ainsi on peut fournir une expérience utilisateur améliorée mijotée aux petits oignons juste pour nos visiteurs.

 

N'hésitez pas à utiliser cette fonctionnalité sur votre site Joomla!

 

A bientôt pour de nouvelles astuces

Fichiers langues utilisables dans vos champs personnalisés

Salut super joomlers!

Comment rendre utiliser ses champs personnalisés dans un contexte multilingue.

Ou encore comment traduire certaines parties de ses champs personnalisés.

On a le droit d’utiliser les chaines de traduction dans les cas suivants (liste non exhaustive)

  • Le label du champ personnalisé
  • La description
  • Le texte des valeurs de la liste, case à cocher ou bouton radio.
Par exemple:
Bouton radio: Je suis d’accord
Label: LIB_EXAMPLE_CUSTOM_FIELD_JE_SUIS_DACCORD_LBL
Description: LIB_EXAMPLE_CUSTOM_FIELD_JE_SUIS_DACCORD_DESC
Texte pour valeur Oui: JYES
Texte pour valeur Non: JNO
Les chaines de traductions JYES et JNO existent déjà dans le coeur de Joomla!
Les deux chaines de traduction précedentes sont à remplacer par vos propres chaines de traduction. Vous pouvez utiliser la fonctionnalité de Joomla! des surchages de langues pour créer ces chaines de traductions. Elles sont stockées en base de données dans la table #__overrider et aussi ecrites dans le dossier overrides dans les dossiers correspondants en facade et dans l’admin de votre site.JPATH_BASE/language/overrides
Comment installer Percona Server sur Ubuntu Bionic en 5 étapes

Salut super joomlers!

Aujourd'hui je vais parler de percona server. Ce fork de mysql ultra performant et optimisé de façon native pour avoir une qualité niveau entreprise gratuitement. Voici les 5 étapes pour l'installer sur Ubuntu Bionic.

*** correspondent à la version que vous voulez installer

  1. Télécharges les fichiers .deb depuis le site officiel de percona
  2. Installer les  dépendances
  3. sudo dpkg -i percona-server-common***.deb
  4. sudo dpkg  -i percona-server-client***.deb
  5. sudo dpkg -i percona-server-server***.deb

Voilà, c'est tout pour aujourd'hui. A bientôt pour de nouvelles astuces

Page 1 sur 3