NAPC Demo  

Essayez gratuitement NAPContent sur notre site demo !

Devenez membre

 et bénéficiez de toutes nos solutions!

Devenez membre

Découvrez les sites

qui utilisent NAPContent !

Voir
plus

Override

Introduction

L'override vous permet d'outrepasser l'affichage des différents éléments sans modifier le code source de NAPContent. Vous pourrez ainsi réaliser tous vos rendus HTML et continuer à faire évoluer le moteur de NAPContent sans aucun risque.

Avec NAPContent l'intégralité de l'override se fait uniquement via le template par défaut du site en frontend. 

Les fichiers sont donc à placer dans le répertoire suivant /templates/{template-default}/html/com_napc/{element}

Trois éléments différents peuvent être overridés : les templates des vues, les layouts des champs et les layouts globales. 

Pour les templates de vues et les layouts des champs, il sera toujours impératif de créer un fichier php (code html) associé à son fichier xml portant le même nom (fichier de configuration)

Templates

Pour overrider le template des vues de base, il suffit de créer le répertoire  /templates/{template-default}/html/com_napc/templates/default/ et d'y copier les fichiers sources que vous trouverez dans le répertoire /components/com_napc/templates/default.

Une fois les fichiers copiés vous pouvez les modifier et par conséquent agir avec l'ensemble de vos vues qui utilisent le template par défaut.

La sélection du template se fait à différent endroit selon les vues.

Voici l'ordre de sélection :

  • 1) Paramètres NAPContent
    • Vue item : Paramètre du type
    • Vue liste : Paramètre de la catégorie
    • Vue formulaire backend : Paramètre du back office
    • Vue admin liste : Paramètres du back office
    • Vue formulaire frontend: Paramètres du front office
  • 2) Paramètres des éléments
    • Vue item : Paramètres du template d'un type
    • Vue liste: Paramètres du template d'une catégorie (avec par défaut un héritage des catégories parentes. La catégorie de 1er niveau hérite des paramètres généraux)
    • Vue formulaire backend : Paramètres du back office d'un type
    • Vue admin liste : Paramètres du back office d'un type
    • Vue formulaire frontend : Paramètre du front office d'un type
  • 3) Paramètres des menus
    • Il est possible via n'importe  quel lien de menu de sélectionner un template spécifique pour ce même menu
  • 4) Via un paramètre d'url
    • Il est possible via le paramètre d'URL nommé "naptpl" de spécifier d'ID du template à utiliser. (il se nécessaire que ce même template possède le paramètre "allowurl" avec la valeur renseignée à oui)

Champs

Pour overrider la layout d'un champ, il suffit de créer le répertoire  /templates/{template-default}/html/com_napc/fields/{fieldtype}/ et d'y copier les fichiers sources que vous trouverez dans le répertoire /plugins/napc/{fieldtype}/layout.

Vous pouvez ensuite les modifier pour agir sur l'affichage des champs. 

Il est important de savoir qu'un champ peut apparaitre dans une m^me vue plusieurs fois avec plusieurs layouts différentes.

Un champ possède une layout spécifique en fonction de son utilisation dans NAPContent, il peut donc distinguer son affichage entre une vue item, liste, module, liste admin, formulaire et champ liste. La layout peut également être modifié pour l'affichage du champ en tant que filtre.

La sélection de la layout peut se faire 3 endroits différents.

Voici l'ordre de sélection :

  • 1) Paramètres du champ
  • 2) Paramètres du champ dans une position de template
  • 3) Via le template de la vue en forçant la layout à utiliser lors de l'appel au champ

Layouts

Pour overrider une layout, il suffit de créer le répertoire  /templates/{template-default}/html/com_napc/layouts/ et d'y copier les fichiers sources que vous trouverez dans le répertoire /components/com_napc/layouts/. Il faudra conserver la même arborescence. 

Les layouts sont utilisés pour afficher des portions de code HTML exploité à plusieurs reprises dans NAPContent.

La layout defaut.php par exemple est utilisée pour afficher le code HTML de l'ensemble des champs (hors vue formulaire).

Les layouts form sont utilisés pour afficher le champ dans les formulaires. Travaillant avec Bootstrap, il en existe 2 par défaut : boostrap2 (pour la compatibilité avec le backend de joomla) et bootstrap3 (pour les affichages en frontend). Par défaut les champs utilisent Bootstrap2. Vous pouvez ajouter des nouvelles layouts dans le répertoire d'override afin d'avoir la possibilité de les sélectionner dans les paramètres de la layout form du champ.

Les layouts filters sont utilisés dans les paramètres des différents champs pour indiquer la façon d'afficher les filtres. Ces paramètres sont en générales statiques et le fait d'ajouter manuellement une nouvelle layout n'ajoutera pas la possibilité de la sélectionner dans les paramètres du champ. Il faudra vous même y faire appel via la layout filter du champ.

La méthode statique pour faire charger votre layout se fait via l'helper NapcHelper : 

echo NapcHelper::renderLayout('path.layout',compact($var1,$var2,$var3);

 'path.layout' représente le chemin d'accès au fichier de la layout, tandis que le second paramètre listera l'ensemble des variables à envoyer dans la layout. Il est important d'utiliser la fonction compact afin de garder le nom des variables dans un tableau associatif. 

×
Ce site utilise des cookies pour vous offrir le meilleur service. En continuant, vous acceptez de recevoir les cookies sur ce site.