Jump to content

surcharge .php d'un module de template ?


Recommended Posts

Bonjour à tous,

 

Voici mon problème tout bête... j'ai dû louper quelque chose:

 

En PS 1.5, je souhaite positionner les produits promo sur la partie centrale de la homepage et non dans la colonne de droite.

J'ai donc étendue le module par défaut /modules/blockspecials/blockspecials.php en créant le fichier theme/mon_theme/modules/blockspecials/blockspecials.php

 

 

if (!defined('_PS_VERSION_'))
exit;
include_once(_PS_MODULE_DIR_.'blockspecials/blockspecials.php');


class MyBlockSpecials extends BlockSpecials
{
private $_html = '';
private $_postErrors = array();
function __construct()
{
 parent::__construct();
 $this->name = 'MyBlockSpecials';
}
public function install()
{
/* Adds Module */
if (!parent::install())
 return false;
if (!$this->registerHook('home'))
 return false;

return true;
}

public function hookHome($params)
{
	return $this->hookRightColumn($params);
}

}

 

... et lors de l'exécution, le bloc promo n’apparaît pas au centre sur la home page.

Par contre, si je déclare la fonction hookHome dans le fichier _PS_MODULE_DIR_.'blockspecials/blockspecials.php, tout fonctionne.

 

Une idée ?

Link to comment
Share on other sites

Bonjour,

 

Dans votre thème, vous n'aurez pas de fichier php à traiter, simplement des fichiers tpl smarty.

Si vous souhaitez ajouter une fonction php supplémentaire à votre module, vous devez uniquement changer le code de votre module dans ./modules/monmodule/monmodule.php

 

Seul les tpls des modules sont "override", et vous pouvez les traiter dans ./themes/votre_theme/modules/monmodule/*.tpl

 

Si vous ne souhaitez pas modifier le php des modules en natif de PrestaShop, vous pouvez toujours les dupliquer et les renommer comme il se doit, à tous les endroits ou son nom est traité dans le code.

 

Les modules font partie des éléments rattachables et détachables du noyau, ils sont donc indépendant. Il se peut donc qu'une thème particulier demande l'intégration d'un module supplémentaire, ou aussi bien sa désactivation.

 

Bien cordialement

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