RaWMotorsports Posted November 11, 2020 Share Posted November 11, 2020 (edited) Bonjour, J'ai une multiboutique en 1.7, avec des catégories dans chaque boutique, jusque la rien d'anormal Certaine catégories sont dispo pour les deux boutiques, donc aucun probleme. Certaine catégories ne sont valable que pour une seule boutique, or dans ce cas présent si je saisie : https://www.boutique2.fr/xx-categorie-de-la-boutique-1 alors cela rends une catégorie vide certe, mais une catégorie tout de meme, alors que cette catégorie n'est pas censé exister dans cette boutique ! Ne devrions pas tomber sur une 404 dans un tel cas ? Le soucis c'est que notre ami Google me réference tout un tas de page ... pour rien ! Merci pour votre retour, Probleme résolu dans le post ci-dessous Edited November 11, 2020 by RaWMotorsports (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted November 11, 2020 Share Posted November 11, 2020 Bonjour, remontez l’information à PrestaShop, mais certainement que cela rentre dans les corrections programmées sur la version 1.7.8 qui essayera de faire fonctionner convenablement le multi boutique sur la 1.7. Link to comment Share on other sites More sharing options...
RaWMotorsports Posted November 11, 2020 Author Share Posted November 11, 2020 Ok, donc d'apres vous c'est un "bug" de la version presta 1.7.6 Bien que je prefere eviter, j'ai donc ajouter dans le fichier CategoryController.php $sql= 'Select id_category from `' . _DB_PREFIX_ . 'category_shop` where id_shop='.(int)Context::getContext()->shop->id.' and id_category='.$id_category; $category_in_shop=0; if ($results = Db::getInstance()->ExecuteS($sql)) foreach ($results as $row) $category_in_shop=$row['id_category']; if ($category_in_shop==0) { header("Location: ".Context::getContext()->shop->getBaseURL(true).Context::getContext()->language->iso_code."/404", true, 301); exit(); } Link to comment Share on other sites More sharing options...
Mediacom87 Posted November 11, 2020 Share Posted November 11, 2020 regardez comment la chose est traité dans la version 1.6 de PrestaShop car à l'époque cela fonctionnait convenablement, en tout cas, moi je ne rencontre pas ce type de soucis. public function init() { // Get category ID $id_category = (int)Tools::getValue('id_category'); if (!$id_category || !Validate::isUnsignedId($id_category)) { $this->errors[] = Tools::displayError('Missing category ID'); } // Instantiate category $this->category = new Category($id_category, $this->context->language->id); parent::init(); // Check if the category is active and return 404 error if is disable. if (!$this->category->active || !Validate::isLoadedObject($this->category) || !$this->category->inShop() || !$this->category->isAssociatedToShop() || in_array($this->category->id, array(Configuration::get('PS_HOME_CATEGORY'), Configuration::get('PS_ROOT_CATEGORY')))) { header('HTTP/1.1 404 Not Found'); header('Status: 404 Not Found'); $this->errors[] = Tools::displayError('Category not found'); } else { // Check if category can be accessible by current customer and return 403 if not if (!$this->category->checkAccess($this->context->customer->id)) { header('HTTP/1.1 403 Forbidden'); header('Status: 403 Forbidden'); $this->errors[] = Tools::displayError('You do not have access to this category.'); $this->customer_access = false; } } } Link to comment Share on other sites More sharing options...
RaWMotorsports Posted November 11, 2020 Author Share Posted November 11, 2020 (edited) Merci mediacom pour cette piste, je remplace, ca sera plus propre ! Il y a donc des fonctions déjà faites, surement un oubli donc, ceux qui ont le meme soucis sur 1.7.6 il suffit donc de remplacer ligne 90 de controllers/front/listing/CategoryController.php : if (!Validate::isLoadedObject($this->category) || !$this->category->active ) { Tools::redirect('index.php?controller=404'); } par if (!Validate::isLoadedObject($this->category) || !$this->category->active || !$this->category->inShop() || !$this->category->isAssociatedToShop()) { Tools::redirect('index.php?controller=404'); } Edited November 11, 2020 by RaWMotorsports (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted November 11, 2020 Share Posted November 11, 2020 Non, c'est une blague, les fonctions existent toujours mais ils ne les ont pas réutilisées ??????? Link to comment Share on other sites More sharing options...
RaWMotorsports Posted November 11, 2020 Author Share Posted November 11, 2020 Oui cela marche parfaitement en ajoutant les fonctions dans le if .... Un oubli donc ! Link to comment Share on other sites More sharing options...
Mediacom87 Posted November 11, 2020 Share Posted November 11, 2020 Comme quoi, le multi boutique fonctionne bien en 1.6 🙂 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