Remplacer 'unité' par 'par personne"

  • Posts: 23
  • Thank you received: 0
11 years 5 months ago #77593

Bonsoir, j'ai tenté une modification du fichier listing_price pour permettre une meilleurs compréhension des intitulés dans la description des produits
et changer 'unité' en 'par personne' comme ci dessous.



avec ce code:
$productClass = hikashop_get('class.product');
            $productCategories = $productClass->getCategories(hikashop_getCID());
            $itemTextpers = 'PER_UNIT';
            foreach($productCategories as $productCategory){
            if($productCategory == '15'){
            $itemTextpers = 'PER_PERSONNE';
			
            }
            }
            if(isset($price->price_min_quantity) && empty($this->cart_product_price) && $this->params->get('per_unit',1)){
                if($price->price_min_quantity>1){
                    echo JText::sprintf('PER_UNIT_AT_LEAST_X_BOUGHT',$price->price_min_quantity);
                }else{
                    echo JText::_($itemTextpers);
                }
            }

Celà fonctionne mais j'ai un message d'erreur dans le panier

Warning: Invalid argument supplied for foreach() in /homepages/10/d369393173/htdoc
Comment y remédier j’avoue être débutant en php :(
Merci d'avance

Attachments:
Last edit: 11 years 5 months ago by ferraridino.

Please Log in or Create an account to join the conversation.

  • Posts: 26029
  • Thank you received: 4006
  • MODERATOR
11 years 5 months ago #77608

Bonsoir,

Dans le panier vous n'avez pas de CID dans l'URL.
Le mieux est de ne pas se baser sur hikashop_getCID pour récupérer l'ID du produit, mais plutôt sur les informations contenus dans $this.
Comme par exemple : $this->row->product_id

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 23
  • Thank you received: 0
11 years 5 months ago #77667

Bonjour, j'ai remplacé

$productCategories = $productClass->getCategories(hikashop_getCID());

Par

$productCategories = $productClass->getCategories($this->row->product_id);

Et j'ai le même problème sauf qu'il ne prend plus en compte dans la description du produit l'intitulé "par personne' et me remet 'unité'.
Dans le panier j'ai toujours le Warning!

Ce qui est curieux c'est qu'en local le premier code fonctionne sans erreurs

Je comprend pas!!!
Pourriez vous m'aider a sortir de là.
Merci

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
11 years 5 months ago #77669

Bonjour,

Essayez d'encader le foreach par un if tel que:

if(isset($productCategories) && is_array($productCategories){
    // foreach{
           ...
    // }
}

Par défault le "unité" n'est pas affiché dans le passage en caisse il me semble.

Please Log in or Create an account to join the conversation.

  • Posts: 23
  • Thank you received: 0
11 years 5 months ago #77671

Merci merci Xavier et Jérôme c'est tout bon. manque juste une')' if(isset($productCategories) && is_array($productCategories)){ :P
cordialement

Last edit: 11 years 5 months ago by ferraridino.

Please Log in or Create an account to join the conversation.

Time to create page: 0.078 seconds
Powered by Kunena Forum