lsykora Posted July 25, 2022 Share Posted July 25, 2022 Ahoj, Jsem nováček v prestashopu a momentálně chci vytvořit nové kategorie. Klasicky v BO jdu do katalog -> kategorie -> a chci vytvořit novou. Když jí chci uložit, dostanu error "Došlo k neočekávané chybě. [PrestaShop\PrestaShop\Core\Domain\Category\Exception\CategoryConstraintException kód 6]". Snažil jsem se hledat na googlu, mělo s tím problém více lidí, ale pořád se mi nepovedlo najít řešení, aby mi šli kategorie vytvářet. Díky za pomoc :)) Link to comment Share on other sites More sharing options...
Ali Samie Posted July 25, 2022 Share Posted July 25, 2022 Hledejte s dalšími podrobnostmi. Jako: nepodařilo se vytvořit kategorii prestashop 1.7.7.6 Link to comment Share on other sites More sharing options...
lsykora Posted July 25, 2022 Author Share Posted July 25, 2022 Našel jsem ještě možnost, jak zobrazit podrobnější detail chyby. Přikládám screen jak chyby, tak i php souboru na tom radku, kde by chyba měla být. Jestli byste se na to mohl podívat a poradit mi co s tím? děkuji Link to comment Share on other sites More sharing options...
knacky Posted July 25, 2022 Share Posted July 25, 2022 Ahoj. Ono je potřeba taky doplnit více informací. Jaká je verze Prestashop (celá verze), jestli byl Prestashop ugradován a atd. Tato chyba vesměs souvisí s chybou v tabulce ps_category a neexistující root kategorií s ID 1 nebo Home kategorií s ID 2. 1 Link to comment Share on other sites More sharing options...
lsykora Posted July 26, 2022 Author Share Posted July 26, 2022 Ahoj, Jedná se o verzi 1.7.8.3. Categorie se tam importovali z předchozího shopu. V ps_category ve sloupečku is_root_category vážně není žádná 2. Přikládám screen. Zkoušel jsem u těch dvou kategorií, které mají position 1 a 2, napsat is_root_category 1 a 2, ale bohužel to nepomohlo. Nebo by pomohlo kdybych ty kategorie smazal? Stejně jich je málo a o moc víc jich nebude. Vytvořil bych si je znova v BO. Děkuji. Link to comment Share on other sites More sharing options...
knacky Posted July 26, 2022 Share Posted July 26, 2022 (edited) Script pro regenerování kategorií. include_once('./config/config.inc.php'); include_once('./init.php'); $db = Db::getInstance(); $id_home = Configuration::getMultiShopValues('PS_HOME_CATEGORY'); $id_root = Configuration::getMultiShopValues('PS_ROOT_CATEGORY'); $db->execute('DELETE FROM `'._DB_PREFIX_.'category` WHERE id_category NOT IN ('.implode(',', array_map('intval', $id_home)).', '.implode(',', array_map('intval', $id_root)).')'); $db->execute('DELETE FROM `'._DB_PREFIX_.'category_lang` WHERE id_category NOT IN ('.implode(',', array_map('intval', $id_home)).', '.implode(',', array_map('intval', $id_root)).')'); $db->execute('DELETE FROM `'._DB_PREFIX_.'category_shop` WHERE id_category NOT IN ('.implode(',', array_map('intval', $id_home)).', '.implode(',', array_map('intval', $id_root)).')'); $db->execute('DELETE FROM `'._DB_PREFIX_.'category_group` WHERE id_category NOT IN ('.implode(',', array_map('intval', $id_home)).', '.implode(',', array_map('intval', $id_root)).')'); $db->execute('ALTER TABLE `'._DB_PREFIX_.'category` AUTO_INCREMENT = '. (1 + max(array_merge($id_home, $id_root)))); foreach (scandir(_PS_CAT_IMG_DIR_) as $dir) { if (preg_match('/^[0-9]+(\-(.*))?\.jpg$/', $dir)) { unlink(_PS_CAT_IMG_DIR_.$dir); } } Category::regenerateEntireNtree(); Edited July 26, 2022 by knacky (see edit history) 1 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