C'est l'histoire d'un Hook

Questions, astuces à propos des modèles et des feuilles de styles
Avatar de l’utilisateur
audrey
Membre
Messages : 282
Inscription : 07 Mars 2011 09:09
Localisation : Perpignan
Contact :

C'est l'histoire d'un Hook

Messagepar audrey » 29 Avr 2013 16:48

Bonjour,

Voilà voilà, je crois que je me suis bien énervée sur cette histoire de HOOK :D
J'ai besoin d'un tout petit coup de pouce, je ne comprends pas ce qui va de travers.

Voilà, je dois modifier à peu près tous les templates de type mod_ (presque jamais accessible en be) donc cette fois je me suis dis que j'allais pas le faire à l'arrache, mais avec des hook.
J'ai bien trouvé dans le forum les endroits où l'on parle du hook outputFrontendTemplate (ou backend mais dans le fond c'est même fonctionnement je suppose).

Je pense que j'y étais presque puisque j'ai réussi à faire planter l'affichage, preuve que mes bêtises ont été prises en compte.

J'ai crée mon config.php,

Code : Tout sélectionner

$GLOBALS['TL_HOOKS']['outputFrontendTemplate'][] = array('HookModuleNewsList', 'HookModuleNL');


Puis mon HookModulNewsList.php et je crois que c'est là que ça mer*** :

Code : Tout sélectionner

   public function HookModuleNL($strContent, $strTemplate)
   {

    if ($strTemplate == 'mod_newslit')
        {
            $strContent = 'mod_newslistP';
        }
   
        return $strContent;
   }


Dans la doc je comprends pas trop,
comme il retourne le strContent, pour moi c'est la valeur du template que je veux voir afficher que je dois mettre.
Mais je crois que j'ai louper, un bout de code ?

Qqe part sur le forum anglais j'ai lu qu'il fallait définir lehook dans le module concerné. Comme là il s'agit du module News, j'ai également de le mettre dans le module News, mais ça a pas changé grand chose, j'ai toujours page blanche.

Help :roll:

Avatar de l’utilisateur
F2lt
Membre
Messages : 164
Inscription : 26 Mai 2011 09:24
Localisation : L'Isle sur Sorgue - Vaucluse (84)

Re: C'est l'histoire d'un Hook

Messagepar F2lt » 30 Avr 2013 09:13

Bonjour,

Concernant la création de hook en général, je t'invite à regarder ceci :
extensions/catalog-publication-previsualisation-t2702.html > 2. La prévisualisation ...
pour la création de hook de manière générale.

pour moi c'est la valeur du template que je veux voir afficher que je dois mettre.

Mais :roll: , je me pose la question de savoir si l'utilisation d'un hook est nécessaire juste pour utiliser un template différent. Si tu crées ton mod_newlist.* (au fait ce n'est pas mod_newslit) dans /templates c'est celui ci qui est utilisé au lieu du /system/modules/news/templates/mod_newslist.* standard :?:

F2lt :)
Je soutiens Mira Europe qui éduque et remet gratuitement des chiens guides d'aveugles aux enfants aveugles : http://www.miraeurope.org/

Avatar de l’utilisateur
audrey
Membre
Messages : 282
Inscription : 07 Mars 2011 09:09
Localisation : Perpignan
Contact :

Re: C'est l'histoire d'un Hook

Messagepar audrey » 30 Avr 2013 09:26

hey :)
oui oui c'est mod_newslist, erreur de frappe :)


je vais lire ça tout de suite, je m'étonne moi même de pas être tombé dessus avant, vu le nombre de pages que je lis depuis hier. Merci !

Ca marche pas à tout les coups chez moi : même quand je mets un template dans mon dossier personnalisé, ou même à la racine du dossier templates (avec le nom original), il ne le prend pas toujours en compte, même jamais en fait :/ Dans ma configuration de thème, mon dossier de templates est bien sélectionné pourtant.


Sinon j'ai avancé ^^
J'arrive à récupérer des infos, mais au lieu de m'injecter le template, il envoie juste une chaine de caractère ...
ET au final c'est pas le outputFrontendTemplate que je devrais utiliser mais le parseFrontendTemplate apparemment ?

Avatar de l’utilisateur
iankoOol
Membre
Messages : 160
Inscription : 04 Août 2008 10:07
Localisation : Bretagne

Re: C'est l'histoire d'un Hook

Messagepar iankoOol » 01 Mai 2013 10:05

Ca marche pas à tout les coups chez moi : même quand je mets un template dans mon dossier personnalisé, ou même à la racine du dossier templates (avec le nom original), il ne le prend pas toujours en compte, même jamais en fait :/ Dans ma configuration de thème, mon dossier de templates est bien sélectionné pourtant.


oui il y'a un bug contao, certain templates duppliqué dans le dossier perso ne sont pas recherchés/reconnus par contao.
Pour palier à cela je dupplique bien le template dans mon dossier perso, puis je modifie le nom (du fichier : "_mod_newslit") de l'original (system/module/news/templates/...) afin que contao ne le retrouve plus, je reload la page sur laquelle est affiché le template (en front) -> Contao prends enfin en compte mon template perso duppliqué.
Reste à renommer correctement le nom de template source modifié ("_mod_newslit" -> "mod_newslit"), pas de soucis contao continuera de prendre en compte le nouveau template perso duppliqué.
Graphiste / Dév - Xhtml/css/javascript/php - Faîtes-vous du bien !

Avatar de l’utilisateur
audrey
Membre
Messages : 282
Inscription : 07 Mars 2011 09:09
Localisation : Perpignan
Contact :

Re: C'est l'histoire d'un Hook

Messagepar audrey » 01 Mai 2013 16:45

Génial !
Merci !


Maintenant que tu le dis, j'avais déjà lù ça qqpart sur le forum il y a quelques temps.


Revenir vers « Modèles et CSS »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité