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

Comment afficher image png avec fond transparent en utilisant Imagick en PHP

Salut super joomlers!

Après avoir bien galéré en cherchant partout sur internet, le site officiel, la documentation php, les forums, j'ai enfin trouvé une solution grâce une suggestion d'une amie: Et si c'était pas tout simplement le fond de l'image ?

Effectivement, en inspectant le code de  la librairie Imagick avec mon IDE de prédilection PhpStorm j'ai enfin decouvert la bonne méthode qu'il fallait appeler après l'appel au construteur d'Imagick. Voici le bout de code d'exemple:

 $image = new Imagick('example.png'); 
$image->setImageAlphaChannel(Imagick::ALPHACHANNEL_ACTIVATE);

A vous de jouer! Happy coding!

Comment forcer le chargement de la langue globale dans vos extensions Joomla! personnalisées

Salut super joomlers!

Désolé d'avoir été silencieux pendant un si long moment. Me revoilà avec une nouvelle astuce Joomla! croustillante: Comment charger les fichier de langues globlaux de  votre site Joomla! dans n'importe laquelle de vos extensions personnalisées. Vous êtes développeur(euse) d'extensions Joomla!? Comme moi, vous êtes sûrement déjà tombé sur ce problème.

Comment charger le fichier fr-FR.ini ou en-GB.ini situés dans:
JPATH_ADMINISTRATOR/language/en-GB/en-GB.ini
JPATH_ADMINISTRATOR/language/fr-FR/fr-FR.ini
ou
JPATH_SITE/language/en-GB/en-GB.ini
JPATH_SITE/language/fr-FR/fr-FR.ini
Dans vos propres extensions et forcer l'utilisation de ces fichiers afin, par exemple, D'afficher correctement les boutons traduits dans une toolbar en frontend (la même que dans l'admin). Pour ceux et celles que ça intéresse, voici le code pour forcer le chargement la langue globale venant de l'admin:


        // Force loading of backend global language file
	$language = Factory::getLanguage();
	$language->load('joomla', JPATH_ADMINISTRATOR);
Joomla! pourrait devenir un CMS "headless" agnostique, peut-être dans Joomla 4.5?

Je suis tombé plus ou moins récemment sur le "CMS headless" où le contenu réel est complètement séparé des actions que l'on peut faire pour "manipuler" ou "agir sur" le contenu à l'aide d'une API. Je sais que les Webservices arriveront dans Joomla 4 bientôt, mais je me demandais si un "CMS headless" à part entière pourrait être la solution pour aider Joomla! redevenir populaire auprès de plus de développeurs. Pour moi, si plus de développeurs font plus de choses pour Joomla! et contribuer, toute la communauté Joomla en bénéficiera.

Le principal avantage de "CMS headless", à mon humble avis, est d’abaisser la barrière de communication et de s’étendre à d’autres bibliothèques php, en créant des applications mobiles pour interagir facilement avec Joomla! Ou des applications CLI pour devops, etc...Qu'en pensez-vous? Est-ce que ça vaut le coup?

Champs personnalisés multi-contextes

Salut super joomlers!

Je sais, je sais. Vous allez me dire mais qu'est ce que c'est que ce titre barbare et tordu? Ne vous en faite pas. Tout va s'éclaircir au fur et à mesure. Dès Joomla! 3.7, nous avons droit dans les fichiers du coeur de Joomla! aux champs personnalisés grâce au formidable travail de Allon Moritz (@laoneo). Il faut savoir que le composant com_content (articles) ainsi que quelques autres dispose du support natif des champs personnalisés. Mais qu'en est t-il des extensions tierces que nous aussi développeurs et développeuses veulent réaliser? Nous souhaiterions avoir le même support des champs personnalisés, voir plus, avec un peu plus d'efforts.

Ce composant d'exemple com_example mets le contenu de base des champs personnalisés, plus le support de ce que l'on appelle le multi-contexte (Pensez plusieurs types de "elements" qui peuvent avoir eux aussi leurs champs personnalisés et leurs groupes de champs personnalisés. Ex: Un hotêl veut gérer les activités de ces clients durant les 4 saisons de l'année.
"contexte 1" : Printemps
- Groupe de champs personnalisés: "Activités printannières"

  • Champ personnalisé: Natation

"contexte 2" : Eté

  • Groupe de champs personnalisés: "Activités estivales"
  • Champ personnalisé: Volley Ball

etc...

Dans le cadre multi-contexte, chaque saison est listée dans un menu déroulant dans le filtre de champs personnalisés ainsi que dans le filtre groupe de champs personnalisés

Les champs personnalisés pour les non-developpeur.euse

Salut super joomlers!

Cette fois ci je vais présenter un code tout simple à copier coller que vous pouvez utiliser directement dans vos surchages de template de com_content (articles). Pour ceux et celles qui veulent rajouter des champs personnalisés simplement dans leur templates préférées voici les deux bouts de code à mettre.

Un en haut et l'autre là où vous souhaitez afficher votre champ personnalisé (requiert Joomla! 3.7.x minimum).
ex: Dans le fichier templates/example/html/com_content/article/defaut.php


<?php
defined('_JEXEC') or die();
//code specifique à votre template...
// Début: Bout de code à rajouter tout en haut
JLoader::register('FieldsHelper', JPATH_ADMINISTRATOR . '/components/com_fields/helpers/fields.php');
$champs_par_nom = \Joomla\Utilities\ArrayHelper::pivot($this->item->jcfields, 'name');
// Fin: Bout de code à rajouter tout en haut
?>
<?php
//...
//code specifique à votre template...
//...
// Début: Bout de code à rajouter
// là où vous voulez afficher
// un champ personnalisé grâce à son nom
echo $champs_par_nom['mon-champ-personnalise']->label
. ':' . $champs_par_nom['mon-champ-personnalise']->value;
// Fin: Bout de code à rajouter
// là où vous voulez afficher
// un champ personnalisé grâce à son nom
?>
Utiliser les champs personnalisés par leurs noms simplement

Salut super joomlers!

Vous allez me dire qu'il y aura des conflits de noms si on utilise cette méthode et que les noms des champs personnalisés ne sont pas forcéments uniques. Mais si on s'y prend bien et qu'on utilise ce petit bout de code. On s'en sort beaucoup plus simplement qu'en essayant de vouloir retenir par coeur, même en ayant noté sur un document les id des différents champs personnalisés. Voici le bout de code:


$champs_par_nom = \Joomla\Utilities\ArrayHelper::pivot($liste_de_champs, 'name');

La partie $liste_de_champs correspond à la variable qui contient déjà les champs personnalisés de votre élément. Dans les cas communs (com_content.article, com_user.user, etc...)

Voilà, c'est tout pour cette fois

Page 2 sur 3

Recevoir la Newsletter

Super Joomlers! Faites le plein d'astuces Joomla!
Nous détestons le spam tout autant que vous et nous ne vous enverrons aucun email non sollicité. Vous pouvez vous désinscrire / réinscrire à tout moment