Jump to content

Comment surcharger des pages ?


Recommended Posts

Bonjour,

je souhaiterais pouvoir créer des modules et surcharger des pages existantes. C'est a dire modifier par exemple uniquement l'affichage des prix ou certaines parties de page sans toucher au code de la page.

Merci pour les renseignements.

Link to comment
Share on other sites

Bonjour,

Par exemple :

j'ai créé une fonction qui calcule le prix unitaire des produits c'est a dire : le prix normal si pas de prix dégressifs et le prix le plus bas si prix dégressifs. Je souhaite donc afficher ce prix des que l'on voit un produit comme dans les produits phares, les nouveaux produits ... Si je veux utiliser cette fonction je dois modifier l'affichage des prix sur chaque page sur lesquelles les prix apparaissent et c'est pas top pour les mises a jour. Je voudrais créer un module ou une autre technique qui "ecrase" le prix qui existe deja.

Merci.

Link to comment
Share on other sites

  • 1 month later...

bonsoir,

je recherche non sans mal la possibilité d'afficher le prix unitaire de mes produits car ils sont quasiment tous vendus par lot. Pourriez-vous m'expliquer comment vous avez fait pour l'obtenir ?

Par exemple j'ai un article que je ne vends pas à l'unité mais j'ai besoin d'afficher son prix unitaire en page d'accueil, page catégorie et page produit sinon le montant risque d'effrayer mes visiteurs (je vends par lots de 50 pce mini)...

merci de votre aide
Thomas

Link to comment
Share on other sites

Bonjour,

en fait quand je parle de prix unitaire, je parle du prix normal si pas de prix dégressifs et du prix le plus bas si il existe des prix dégressifs. C'est plus vendeur.

Imaginons un produit avec un prix de base à 10€ avec des prix dégressifs à 9€ a partir de 10, 8€ a partir de 20.
La fonction me retourne 8€ et j'affiche "a partir de 8€". Il faut ensuite modifier tous les templates dans lesquels tu veux modifier le prix.

Pour info voila la fonction que j'utilise pour calculer ce prix (à ajouter dans la classe Product.php):

/**
  * donne le prix minimum s'il existe un prix dégressif sinon prix normal
  *
  * @param
  * @return le prix le plus bas
  */
   public function getMaxDegr($tax)
   {
      $price = self::getPrice($tax,NULL,2);
      $row = Db::getInstance()->getRow('
      SELECT MAX(dis_qt.`value`) as max_degr
      FROM `'._DB_PREFIX_.'discount_quantity` as dis_qt
      WHERE dis_qt.`id_product` = '.intval($this->id));
      if (isset($row['max_degr']))
        return $price*(1-$row['max_degr']/100);
      else return $price;
   }



Voila si ca peux aider ;)

Link to comment
Share on other sites

Bonjour,

Toutes mes excuses j'ai un peu tardé à répondre.

Un grand merci pour cette réponse, ce n'était effectivement pas précisément la fonction recherchée mais elle peut être néanmoins très utile.

Non en fait, je cherchais une méthode pour ma part comme pas mal de monde sur ce forum pour qu'un lot de 100 pièces par exemple me retourne en page d'accueil, page catégorie et page produit le prix unitaire pour ne par effrayer les acheteurs, ta méthode pourrait être valable mais je ne vends pas à l'unité certains de ces produits si bien que, sauf erreur, les prix dégressifs ne peuvent s'appliquer à mon cas.

Excellente journée et merci encore pour cette réponse.
Thomas

Link to comment
Share on other sites

Bonjour,

dans ce cas pas mal de modifs a faire. Je peux peut être vous donner une piste. A mon avis il faut modifier la classe produit et ajouter une variable quantite par lot. Modifier le back office et insérer un champs quantité par lot. Puis a chaque affichage du prix diviser le prix de base par $product->quantite_par_lot. Quelques modifs en perspective mais faisable. Le problème sera que pour chaque mise a jour de prestashop il faudra refaire les modifs des fichiers car on va toucher au cœur de prestashop.

Link to comment
Share on other sites

Bonjour,

Merci effectivement vu comme ça, ça peut paraître relativement simple, il faudrait que je prenne plus de temps pour m'y pencher mais c'est vrai que l'air de rien cette modif qui paraît anodine de prime abord est en réalité assez complexe à mettre en oeuvre tant elle concerne de scripts sur cet outil (sans oublier me semble-t'il que javascript en remet en une couche sur certains templates).

En fait j'ai opté pour une méthode toute basique et assez contraignante mais qui peut me convenir le temps que peut être un jour cette fonctionnalité voit le jour officiellement. Elle m'oblige à me passer d'une part des déclinaisons et d'autre part de la gestion des stocks...

Dans l'admin sur la fiche produit je renseigne juste mon nombre de pièces/lot dans les quantités puis sur mes templates je divise le prix par ces quantités... c'est très très basique j'en conviens...

Thomas

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