Module Joomla 3.x Joomla 4 Joomla 4 Administration Français Anglais

Description

LM-Custom - module custom avancé

LM-Custom est un petit module bien pratique que j'utilise en backend pour personnaliser l'administration de mes sites. Voir la section 'Trucs et astuces'.

Les modules LM-CUSTOM ajoutent des fonctionnalités aux modules MOD_CUSTOM fournis par Joomla!

  • saisie du contenu avec un éditeur de code (éditeurs WYSIWYG interdits)
  • possibilité de code PHP dans le contenu
  • insertion fichier(s) JS/CSS dans le HEAD de la page
  • insertion code JS/CSS dans le HEAD de la page
  • les lignes débutant par un point-virgule sont des commentaires NOUVEAU

Ne pas pouvoir utiliser un éditeur WYSIWYG est l'assurance qu'un script copié dans le contenu ne sera jamais nettoyé d'une partie de ses balises. Ni aujourd'hui, ni demain, ni pas vous, ni par un autre rédacteur !

LM-Custom est une solution pérenne, plus simple que la configuration 'délicate' des éditeurs TinyMCE et JCE ou les permutations incessantes.

Installation

Le module existe en 2 versions: frontend et backend. Vous téléchargez et installez les versions dont vous avez besoin.

Par défaut, les modules utilisent le premier éditeur trouvé dans cette liste : None, CodeMirror

Si vous voulez modifier l'ordre ou ajouter le vôtre, il faut modifier les fichiers 'mod_lmcustom.xml' des dossiers '/modules/mod_lmcustom.xml' et '/administrator/modules/mod_lmcustom.xml'

<field name="content" 
  type="editor"
  editor="none|codemirror"
  filter="raw"

Indiquer pour editor, dans l'ordre désiré, le nom des éditeurs trouvé dans la colonne 'Elément' de la liste des plugins.

Cette opération sera à refaire lors d'une mise à jour de LM-CUSTOM. Je suis désolé, mais je n'ai pas trouvé d'autres solutions...

Utilisation

Comme tous les modules, il faut le publier à la position désirée. Vous pouvez utiliser la position 'debug' dans le cas où aucun contenu n'est affiché.

Module (Conditions d'affichage)

Cet onglet permet d'indiquer des conditions pour lequel le module ne sera pas du tout inséré dans le code de la page.
Alors que si vous indiquez une condition en PHP dans l'onglet HTML/PHP, les éventuels titre, css, js seront quand même insérés.

  • Groupe utilisateurs [site+admin] : permets de limiter l'affichage du module aux personnes d'un groupe (version 2).
  • Utilisateur(s) [site+admin] : permets de limiter l'affichage à une ou plusieurs personnes (version 2 admin).
LM-Custom : Module

Onglet HTML/PHP

Cet onglet permet de saisir les données à afficher sur le site.

  • Code HTML/PHP [site+admin] : le contenu qui sera affiché à la position du module. Vous pouvez saisir du code PHP en l'entourant des habituels tags <?php et ?>
  • Div autour contenu [site+admin] : par défaut, le contenu est dans une balise div qui permet d'ajouter le 'Suffixe de classe CSS' des 'paramètres avancés'.
LM-Custom : HTML/PHP

Attention: toutes les variables sont locales au bloc <?php ... ?>

Cela veut dire qu'il ne faut pas saisir :
<?php $val=1+2; ?> <p>1+2=<?php echo $val; ?></p>
mais l'ensemble dans un seul bloc PHP:
<?php $val=1+2; echo( '<p>1+2=' . $val . '</p>'); ?>

Pour garantir la sécurité du site, des instructions sont interdites.
Si vous utilisez un mot proscrit, un message sera affiché en lieu et place du résultat attendu.
Exemple: ****** INVALID CODE IN PHP : file_exists ******

Onglet CSS

  • Fichiers CSS  : le ou les fichiers CSS à charger dans le HEAD de la page. Indiquer le chemin relatif à la racine du site. Chaque fichier doit être sur une ligne distincte.
    Exemple: media/perso/test.css
  • Code CSS : code CSS à insérer dans le HEAD.
    Exemple: .foo{color:red;}
    note: saisir uniquement le code sans les balises <style>
LM-Custom : CSS

Onglet Javascript

  • Fichiers JS HEAD : le ou les fichiers JS à charger dans le HEAD de la page.
    Indiquer le chemin relatif à la racine du site. Chaque fichier doit être sur une ligne distincte.
    Exemple: media/perso/test.js
  • Code JS HEAD : code Javascript à insérer dans le HEAD.
    note: saisir uniquement le code sans les balises <script>
  • Fichiers JS BODY [site] : le ou les fichiers JS à charger dans le BODY de la page.
    Indiquer le chemin relatif à la racine du site. Chaque fichier doit être sur une ligne distincte.
    Exemple: media/perso/test.js
LM-Custom : Javascript

 

Téléchargement Compatible Joomla 4 Joomla 4

11/11/2023 v5.0
- Compatibilité J5 (Utilisation namespace et use)

13/06/2023 v2.7.5
- fix selection toutes les catégories

29/05/2023 v2.7.4
- block cde php shell_exec

11/05/2023 v2.7.3
- suppression editor codemirror dans XML (erreur Joomla)

26/11/2022 v2.7
- compatibilité PHP 8.1

11/11/2022 v2.7
- compatibilité PHP 8.1 (trim)

23/09/2022 v2.7
- ajout option cache (désactivée par défaut)

09/06/2022 v2.6.2
- fix : error si debug
- ajout trim sur lecture files

08/06/2022 v2.6.2
- fix : suppression / devant chemin fichier

23/05/2022 v2.6.2
- Ajout: les lignes débutant par ; sont des commentaires
- fix: les lignes commentaire doivent commencer par # + espace (pour permette sélecteur ID en CSS)

05/04/2022 v2.6
- Ajout: les lignes débutant par # sont des commentaires

15/09/21 v2.5.3
- conformité JED

15/09/21 v2.5.2
- compatibilité J4 et PHP8 (suppression editeur rokpad)
- amélioration interface

20/04/09 v2.5.1
- fix + reprise code

20/03/21 v2.5
- ajout champs
- fichiers et code JS à la position du module
- code libre à la position du module
- prise en charge CDN
- les fichiers chargés uniquement si extension = .js ou .css
- adaptation CSS pour paramétres sous J4

01/06/20 v2.4
- ajout width:100% sur elements/custom.css pour J4b1

12/04/2020 v2.3 SITE
- ajout option pour supprimer DIV autour contenu HTML

12/04/2020 v2.2 SITE
- forcer la valeur à int pour $id (ligne 92) Merci Pascal
15/01/2020 v2.1 SITE
- option plugin de contenu par défaut

16/09/2019 v2 SITE (compatible J4a11)
- adaptation saisie paramètres dans Backend
- modif code pour test mobile
- ajout condition groupe(s) utilisateur()

01/04/2017 v1.7.2 SITE
- ajout suffixe de classe pour module

25/12/2016 v1.7.1 SITE
- ajout serveur update

21/06/2016 v1.7 SITE
- reprise totale du code pour les conditions
- affichage debug
- test PHP personnalisé
- les paramétres sont affichés dans l'ordre de test
- reprise de tous les libellés et descriptions paramétres
- evolution de check_php en eval_php plus généraliste

02/06/2016 v1.6 SITE
- ajout paramètres conditions d'affichage
(catégorie, enregistré, page accueil, type de page, mobile)
- ajout insertion code libre dans le head
- gestion Google font

22/05/2016 v1.5
- correction bug si plusieurs instances du modules
- ajout rename path images pour version admin
- parametres sur 3 onglets : HTML, CSS et JS

13/05/2016 v1.4 LM-CUSTOM & LM-ADMINCUSTOM
- Changement de nom.
La philosophie est un module personnalisé qui permet de saisir du code PHP et d'inclure du CSS et JS dans le head
- Création d'une version pour l'administration
- possibilité de saisir du PHP dans le contenu du module
- prise en charge plugin de contenu
- l'éditeur est un éditeur de code: rokpad|emmet|codemirror|none

22/03/2016 v1.3
- correction texte présentation

Support

Pour partager vos questions et suggestions, c'est par là :

Print Friendly and PDF