Jump to content

ajouter un hook a un module


Recommended Posts

Bonjour,

 

Je suis en train de développer ma boutique, j'ai quelques notions en développement en e-commerce et je débute sur Prestashop.

J'ai téléchargé le module Boxtal Connect, mais je remarque que celui ci impacte sur les performances de toutes les pages, alors qu'en realité il n'est necessaire que dans le checkout.

J'ai constaté que les nombreux js étaient chargé sur le hook head.

Et dans l'admin aucun autre hook enregistré ne permet de le déplacer.

En gros 50% de mon TTFB est pris par Boxtal, utile en realité sur une seule page ! Donc j'ai esseyé de faire en sorte que ce module se charge uniquement dans la page de checkout en creant un hook et en l'enregistrant. bien sur ça ne marche pas les js du module ne sont pas chargés. J'ai donc besoin d'un coup de main )

Type d’install (nouvelle/MàJ) : 1.7.6.1
Hébergement : classique (aws C5.large, bitnami prestashop)
Version de PHP : 7.2

 

donc je me suis dit je vais modifier et j'ai donc fait ceci :

Dans le fichier principal du module j'ai donc fait :

public function install()
    {
        if (!parent::install()
            || !$this->registerHook('displayBackOfficeHeader')
            || !$this->registerHook('headerb')

 

pour enregistrer un hook headerb a la place de header

et plus loin dans le même fichier j'ai fait ceci 

public function hookHeader($params)
    {
        return null;
    }
    public function hookHeaderb($params)
    {
        if (!Boxtal\BoxtalConnectPrestashop\Util\AuthUtil::canUsePlugin()) {
            return null;
        }

        return Boxtal\BoxtalConnectPrestashop\Controllers\Front\ParcelPointController::addScripts();
    }

 

J'ai simplement fait un copié coller de ce qui se trouvait dans hookheader => pour le mettre dans headerb.

coté Backoffice tout fonctionne : le module est bien greffé sur headerb.

 

coté front office j'ai mis ceci dans mon fichier Template 2 colonnes utilisé par mon theme. (au depart j'ai utilisé shipping.tpl, mais comme ca ne marchais pas....)

<head>
    {block name='head'}
      {include file='_partials/head.tpl'}
    {/block}
    
    {if ($page.page_name=='checkout')} 
      {block name='Headerb'}
         
      {/block}
    {/if}
    
     
  </head>

 

mais voila le block Headerb est désespérément vide. j'ai tenté

 {hook h="headerb"}

et aussi 
 {hook h="Headerb"}

et toute autre combinaison de lettres mais rien nada

 

je coince.....

 

 

 

 

 

 

Link to comment
Share on other sites

ou désactiver dans les options de ce module moisi le calcul du cout à chaque page et se baser sur des estimations (le véritable calcul sera fait dans le tunnel)

Il faut bien comprendre que pour calculer le prix ce module interroge les serveurs de boxtal à chaque page  ou ajout au panier ce qui est complètement contre-productif (encore pire quand leurs serveurs ne répondent pas)

Link to comment
Share on other sites

Merci pour vos réponses,

effectivement le module est moisi mais ma version ne fait pas de calcul de prix dans la 1.7, la configuration ne montre pas en tout cas ce point.

Quote

Mettre des exceptions sur les réglages des hook pour que ce dernier ne fonctionne QUE dans le tunnel de commande

c'est dans module / apparence / position puis cocher Afficher les points d'accroche invisibles et modifier le hook, et lister les exeptions ?
j'ai tenté mais ca ne marche pas, a croire que le fait que ca soit dans un point d'accroche invisible, ne prend pas en compte les exeptions.

la seule chose que j'ai fait et qui marche mais c'est complètement moche et bourrin, c'est d'avoir tout commenté les appels JS et css dans la classe du module sur le hook header et d'avoir mis dans le tpl shipping a la main les scripts....   ca marche, mais a la moindre mise a jour du module, je vais devoir m'en souvenir et écraser le php.

Link to comment
Share on other sites

  • 3 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...