Programmation : personnaliser une action

Personnaliser le style (CSS et/ou JS)

Nouveauté version 1.32

Vous désirez uniquement modifier le ou les fichiers CSS pour avoir un rendu différent de celui proposé par défaut. UP propose un mécanisme très simple :

  1. créer un sous-dossier custom dans le dossier de l'action concernée
  2. dupliquer le fichier CSS, SCSS ou JS à personnaliser dans ce sous-dossier
  3. adapter le contenu selon vos envies.

Vous continuez à bénéficier des mises à jour de UP pour les fichiers 'non customisés'.
Il est toutefois préférable de regarder dans le changelog / historique si les modifications peuvent avoir une incidence sur vos personnalisations. C'est le cas lors d'ajout de fonctionnalités.

Prise en charge du SCSS

Si vous préférez faire vos modifications en SCSS, il suffit de le dupliquer (ou le créer) dans le sous-dossier custom.
Il sera automatiquement compilé lors de l'appel d'une action scss-compiler.

Attention : si le fichier SCSS fait des importations de partiels, il peut être nécessaire d'adapter le chemin. Dans la majorité des cas, il suffit d'ajouter ../ au début du chemin

@import "../../assets/variables"; devient @import "../../../assets/variables";

En cas de souci, pour revenir au comportement par défaut, il suffit de modifier le nom du sous-dossier custom pour qu'il ne soit plus pris en compte.

Personnaliser le comportement (PHP)

Vous désirez modifier le comportement d'une action en modifiant son fichier PHP ou créer une nouvelle action en utilisant une autre action comme modèle.

L'opération nécessite 3 étapes :

  1. dupliquer le dossier de l'action originale en le renommant au nom de votre action. Exemple: mon_action
  2. renommer le fichier PHP principal du même nom que le dossier
  3. renommer la classe principale de ce fichier avec le nouveau nom de l'action

Ensuite, c'est à vous de jouer pour créer une action toute neuve!

N'oubliez pas de supprimer ou de mettre à jour le lien vers la page de démo.

  • vous ne prévoyez pas de page de démo : supprimer la ligne $this->set_demopage();
  • vous créez une page de démo sur votre domaine : indiquer l'url complête
    $this->set_demopage('https://monsite.fr/mademo');
  • la démo de l'action d'origine est toujours valide : ne changer rien

N'oubliez pas de documenter votre code, pour que l'action upactionslist puisse l'afficher.

Vous ne bénéficiez plus des mises à jour de UP.

Modifier les valeurs par défaut des paramètres

Depuis la version 1.4 de juillet 2018, le webmaster du site peut indiquer ses préférences dans un fichier /custom/prefs.ini. Ce fichier permet de mettre des choix par défaut si le rédacteur ne les indiquent pas

En pratique

  1. créer un fichier prefs.ini en UTF-8 no-BOM sans un sous-dossier custom du dossier de l'action
  2. Dans la section options, ajouter vos valeurs par défaut sous une forme identique à celle du shortcode. Une par ligne, pas de pipe (|).

Notes: une action peut utiliser ce fichier pour récupérer des informations comme une clé de licence. Elle doit le faire dans une section

; PREFERENCES WEBMASTER

; le principe :
; -------------
; 1/ le développeur de l'action indique des valeurs par défaut pour les paramétres
; 2/ le webmaster peut indiquer ci-dessous ses préférences
; 3/ le rédacteur peut spécifier les siennes dans le shortcode UP

; Exemple :
; ---------
; Les classes d'un bouton sont btn-class = btn btn-primary
; Le webmaster du site peut indiquer ci-dessous : btn-class = btn btn-success
; qui aura priorité sur celles de l'action
; l'utilisateur final pourra indiquer son choix dans le shortcode

; Cas particulier : annulation des valeurs précédentes
; pour une valeur texte ou numérique : laisser vide
; pour une valeur logique : saisir 1 ou 0

; ATTENTION : mettre entre guillemets doubles si caractères spéciaux. Doubler des doubles guillemets pour les utiliser

[options]
btn-class = btn btn-success
btn-text="<img src=""/images/img32/pdf.png""> Afficher le fichier : %s"

; autres valeurs définies par l'action. Consulter sa documentation
[key]
gmap = 123456789

Si le fichier prefs.ini n'est pas reconnu, vérifiez la présence des guillemets

Voir aussi :