Jump to content

[résolu] Overide fichier php module


Recommended Posts

Bonjour tout le monde,

 

Après plusieurs recherche je n'arrive pas à trouver (ou à comprendre) commende je peux overrider un fichier php d'un de mes modules (que j'ai acheté).

 

Pour tout les autres modules j'arrive à mettre les fichiers tpl et css dans mon thème, mais je cherche à faire de même pour le fichier php (j'ai changer le nom du hook).

 

Avez vous une solution svp ?

 

Merci

Edited by canel (see edit history)
Link to comment
Share on other sites

Bonjour,

 

Vous ne pouvez pas faire d'override sur un php de votre module. Vous devez soit le modifier, soit le dupliquer et le renommer (pas seulement le dossier, mais sur chacun de ses appels dans le code php, afin qu'il s'"auto identifie" et se différencie de l'autre).

 

Les modules sont dissociables du noyau, ce sont des 'ajouts'. Si vous pouvez au contraire faire des overrides des tpl des modules, c'est parceque ces modules eux-mêmes sont de paire avec l'intégration dans votre thème. Et le thème lui aussi est dissociable du noyau.

 

Bien cordialement

Link to comment
Share on other sites

Ok merci je ferais attention lors de leur mise à jour alors !!!!

 

En fait cela fait partie des impératifs quoiqu'il en soit. Vous devez faire un backup de vos fichiers avant la mise à jour.

Et surtout des modules que vous modifiez.

Link to comment
Share on other sites

La surcharge php des modules est tout à fait possible. Elle marche très bien d'ailleurs ;-)

 

Je ne vois pas l’intérêt plus que ça. Le dossier thème correspond aux sorties visuelles de la boutique. Je ne vois pas ce que du php ferait dans ce dossier. La technique du MVC initial n'est plus respectée.

  • Le dossier ./modules est l'endroit qui doit attendre les addons, modifications, hack. Il est dissociable du noyau.
  • Le dossier ./themes est l'endroit qui doit attendre les visuels personnalisés. Il est dissociable du noyau.

Avoir du php dans son thème casse le fondement même de la séparation des compétences pour le travail en équipe, où l'on va mettre tout n'importe où, n'importe comment.

 

C'est comme si vous posiez un second moteur sur la galerie de votre voiture ... ça ressemble plus à grand chose.

 

Si le but initial est de conserver intact le code du module lui même, et ce que je comprends tout à fait, pourquoi n'archivez-vous pas précieusement celui-ci, dans son contenu d'origine.

 

A+

Link to comment
Share on other sites

J'utilise cette technique pour surcharger les modules par default de Prestashop.

 

Par exemple pour rajouter un hook, il suffit de faire une surcharge en ajoutant le hook, exemple:

 

<?php
class HomeSlider_ovr extends HomeSlider
{
public function hookDisplayTop()
{
 if(isset($this->context->smarty->tpl_vars['page_name']->value) and $this->context->smarty->tpl_vars['page_name']->value != 'index')
   return;

 return $this->hookDisplayHome();
}
?>

 

Après dans l'exemple on voit que l'override se fait depuis le thème mais rien n'empêche de changer la chose et de faire pointer sur /override/modules/ par exemple.

Link to comment
Share on other sites

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...