Netced59 Posted July 31, 2018 Share Posted July 31, 2018 Bonjour, Je viens de m'apercevoir que ma boutique présentait des erreurs php. Pouvez-vous prendre le temps de m'expliquer comment en résoudre au moins une, afin que je puisses traiter les autres : Exemple : Notice: Undefined variable: categories_produit in /home/abatjourxw/Lechtimarche/modules/menu/menu.php on line 342 Notice: Undefined variable: newitem in /home/abatjourxw/Lechtimarche/modules/panier/panier.php on line 88 Notice: Use of undefined constant id_category - assumed 'id_category' in /home/abatjourxw/Lechtimarche/modules/homecategories/homecategories.php on line 162 Je tourne en rond. Merci par avance, Link to comment Share on other sites More sharing options...
Eolia Posted July 31, 2018 Share Posted July 31, 2018 ben ces modules utilisent des variables non définies, il suffit de les déclarer en tête de fonction Link to comment Share on other sites More sharing options...
Netced59 Posted July 31, 2018 Author Share Posted July 31, 2018 Merci pour votre réponse rapide. Un exemple peut-être pour la première ligne d'erreur ? Merci par avance, Link to comment Share on other sites More sharing options...
Eolia Posted July 31, 2018 Share Posted July 31, 2018 montrez-moi le bloc correspondant à cette ligne: /home/abatjourxw/Lechtimarche/modules/menu/menu.php on line 342 Link to comment Share on other sites More sharing options...
Netced59 Posted July 31, 2018 Author Share Posted July 31, 2018 // ***** LES PRODUITS *********** //récupération des catégories $categorie_produit = new Category($categorie_produit_id, intval($cookie->id_lang)); $subcategories_produit = $categorie_produit->getSubCategories(intval($cookie->id_lang),true); $smarty->assign('subcategories_produit', $subcategories_produit); $smarty->assign('categorie_produit', $categories_produit); //print_r($subcategories_produit); Link to comment Share on other sites More sharing options...
Eolia Posted July 31, 2018 Share Posted July 31, 2018 ok donc la ligne: $smarty->assign('categorie_produit', $categories_produit); dit: on envoie au tpl la variable categorie_produit en lui donnant la valeur de $categorie_produit Sauf que je ne sais pas d'où sort cette variable (et php non plus) Il me faudrait le code de la fonction complète car il semblerait que cette variable doit être définie dans certains cas particuliers mais pas par défaut. Pour la définir il faut que je sache si c'est un string ou un array Link to comment Share on other sites More sharing options...
Netced59 Posted July 31, 2018 Author Share Posted July 31, 2018 Vous souhaitez les fichiers php et tpl ? Link to comment Share on other sites More sharing options...
Eolia Posted July 31, 2018 Share Posted July 31, 2018 non, juste la fonction complète dont vient le bloc ci-dessus Link to comment Share on other sites More sharing options...
Netced59 Posted July 31, 2018 Author Share Posted July 31, 2018 /** * Returns module content for header * * @param array $params Parameters * @return string Content */ function hookTop($params) { global $smarty, $cookie, $cart; $smarty->assign(array( 'nb_categorie_displayed' => Configuration::get('NB_CATEGORIE_DISPLAYED'), )); $selected_menu = 0; if (isset($_GET['id_product'])) { $pro = new Product(intval($_GET['id_product']), true, intval($cookie->id_lang)); $cat = new Category(intval($pro->id_category_default), intval($cookie->id_lang)); } if (isset($_GET['id_category'])) { $cat = new Category(intval($_GET['id_category']), intval($cookie->id_lang)); //die(print_r($cat)); $selected_menu = $cat->id_parent; } if(isset($cat)) { if($cat->id_parent == 1) { $selected_menu = $cat->id_category; } else { $selected_menu = $cat->id_parent; } } if($selected_menu == 0 || $selected_menu == 1) { switch($_SERVER['PHP_SELF']) { case '/region-nord.php' : $selected_menu=6; break; case '/recettes-nord.php' : $selected_menu=7; break; case '/annuaire-nord.php' : $selected_menu=8; break; case '/espacepro.php' : $selected_menu=9; break; default : $selected_menu=1; break; } } $smarty->assign('selected_menu', $selected_menu); //paramètrage des id catégories $categorie_produit_id=5; $push_category_produit_id = 14; $categorie_region_id=6; $push_category_region_id = 13; $categorie_recette_id=7; $push_category_recette_id = 16; $categorie_annuaire_id=8; $push_category_annuaire_id = 17; // ***** LES PRODUITS *********** //récupération des catégories $categorie_produit = new Category($categorie_produit_id, intval($cookie->id_lang)); $subcategories_produit = $categorie_produit->getSubCategories(intval($cookie->id_lang),true); $smarty->assign('subcategories_produit', $subcategories_produit); $smarty->assign('categorie_produit', $categories_produit); //print_r($subcategories_produit); if (file_exists(_PS_MODULE_DIR_.'/menu/menu.xml')) { if ($xml = simplexml_load_file(_PS_MODULE_DIR_.'/menu/menu.xml')) { global $cookie, $smarty; $smarty->assign(array( 'menu_product_img' => $this->_path.'menu_pdt.jpg', 'menu_region_img' => $this->_path.'menu_region.jpg', 'menu_recette_img' => $this->_path.'menu_recette.jpg', 'menu_annuaire_img' => $this->_path.'menu_annuaire.jpg', 'produit_content' => $xml->body->produit_produit, 'produit_region' => $xml->body->produit_region, 'produit_recette' => $xml->body->produit_recette, 'produit_annuaire' => $xml->body->produit_annuaire, )); } } $smarty->assign('vignette', _PS_THEME_DIR_.'vignette-pushproduct.tpl'); return $this->display(__FILE__, 'menu.tpl'); } } ?> Link to comment Share on other sites More sharing options...
Eolia Posted July 31, 2018 Share Posted July 31, 2018 ah ben c'est une erreur de typo en fait. il faut remplacer $smarty->assign('categorie_produit', $categories_produit); par $smarty->assign('categorie_produit', $categorie_produit); Rassurez-moi, c'est un module maison ça, pas un truc acheté ? Link to comment Share on other sites More sharing options...
Netced59 Posted July 31, 2018 Author Share Posted July 31, 2018 oui un module modifié.... C'est du ps 1.2.5 Merci en tout cas, je n'ai plus l'erreur !!! Pour le panier, je viens de vérifier, je ne crois pas que ce soit lié à la syntaxe : function hookLeftColumn($params) { global $smarty, $cookie, $cart; //on va limiter l'affichage à trois produits $items = $cart->getProducts(); if($items) { $newitem = array_slice($items,0,2); } //die(print_r($items)); /* if(Validate::isLoadedObject($cart)) { $total = $cart->getTotalCart($car->id); } */ $smarty->assign(array( 'logged' => $cookie->isLogged(), 'voucherAllowed' => intval(Configuration::get('PS_VOUCHERS')), 'returnAllowed' => intval(Configuration::get('PS_ORDER_RETURN')), 'HOOK_CUSTOMER_ACCOUNT' => Module::hookExec('customerAccount'), 'displayconnexionbox' => Configuration::get('DISPLAY_CONNEXION_BLOC'), 'cart' => $cart, 'items' => $newitem, // 'total' => $total, //'total' => Tools::displayPrice('8.60', 1, false, false), 'total' => Tools::displayPrice($cart->getOrderTotal(1,3), 1, false, false), 'fraisport'=> Tools::displayPrice($cart->getOrderShippingCost(null,true), 1, false, false), 'cart_qties' => $cart->nbProducts(), 'logged' => $cookie->isLogged(), 'customerName' => ($cookie->logged ? $cookie->customer_firstname.' '.$cookie->customer_lastname : false), 'firstName' => ($cookie->logged ? $cookie->customer_firstname : false), 'lastName' => ($cookie->logged ? $cookie->customer_lastname : false) )); //print_r($cart->getProducts()); return $this->display(__FILE__, $this->name.'.tpl'); } Link to comment Share on other sites More sharing options...
Eolia Posted July 31, 2018 Share Posted July 31, 2018 là c'est que la variable n'est définie que s'il y a des items donc ajoutez après if($items) { $newitem = array_slice($items,0,2); } else { $newitem = array(); } Link to comment Share on other sites More sharing options...
Netced59 Posted July 31, 2018 Author Share Posted July 31, 2018 Un grand merci, vous êtes vraiment efficace !!! Je vais tenter de me débrouiller pour la 3ème, je ne manquerais pas de vous solliciter au besoin et de vous recommander. Link to comment Share on other sites More sharing options...
Eolia Posted July 31, 2018 Share Posted July 31, 2018 Merci, mais je ne manque pas de travail Link to comment Share on other sites More sharing options...
Netced59 Posted July 31, 2018 Author Share Posted July 31, 2018 Bon, me voilà contraint de vous solliciter à nouveau... Notice: Use of undefined constant id_category - assumed 'id_category' in /home/abatjourxw/Lechtimarche/modules/homecategories/homecategories.php on line 162 Voici le code : function hookRegion($params) { global $smarty; $category = new Category(6); $categories = $category->getSubCategories($params['cookie']->id_lang, true); $cpt = 0; foreach($categories as $categorie) { $products = null; $cpt_product=0; // on récupère les produit $mycat = new Category($categorie[id_category]); $bad_products = $mycat->getProducts($params['cookie']->id_lang, 1, 10, null, null, false, true, true, 9); //on va changer la catégorie par défaut foreach($bad_products as $bad_product) { $bad_product[id_category_default] = $categorie[id_category]; $bad_product[category] = $categorie[name]; $products[$cpt_product++] = $bad_product; } // on les mets dans le tableau if(!empty($products)) $mytab[$cpt++] = $products; } $all = array(); $x = 0; foreach($mytab as $mycat) { if($x == 6) { break; } $long = 0; $y = 0; foreach($mycat as $mypdt) { $y++; $long += strlen($mypdt['name']); $all[$x][$y] = $mypdt; if($long >= 130) { break; } } $x++; } $nb = intval(Configuration::get('HOME_categories_NBR')); $titre_region = Configuration::get('HOME_categories_TITREREGION'); $smarty->assign(array( 'hc_categories' => $categories, 'icone' => "icone_lion.png", 'titre' => $titre_region, 'page' => "region", 'mytab' => $all, 'lang' => Language::getIsoById(intval($params['cookie']->id_lang)), )); return $this->display(__FILE__, 'homecategories.tpl'); } function hookRecette($params) { global $smarty; $category = new Category(7); $categories = $category->getSubCategories($params['cookie']->id_lang, true); $cpt = 0; foreach($categories as $categorie) { $products = null; $cpt_product=0; // on récupère les produit $mycat = new Category($categorie[id_category]); $bad_products = $mycat->getProducts($params['cookie']->id_lang, 1, 10, null, null, false, true, true, 9); //on va changer la catégorie par défaut foreach($bad_products as $bad_product) { $bad_product[id_category_default] = $categorie[id_category]; $bad_product[category] = $categorie[name]; $products[$cpt_product++] = $bad_product; } // on les mets dans le tableau if(!empty($products)) $mytab[$cpt++] = $products; } Link to comment Share on other sites More sharing options...
Eolia Posted July 31, 2018 Share Posted July 31, 2018 y en a pas qu'une là^^ les index de tableaux, sauf si ce sont des variables doivent être entourés de simples quotes ' ' $categorie[id_category]; => $categorie['id_category']; $categorie[name]; => $categorie['name']; Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now