ajouter une catégorie par programme prestashop
Je voudrais ajouter des catégories par programme pour prestashop, j'ai essayé ce code
$object = new Category();
$object->name = "xcvxvvx";
if (!$parent_id){
$parent_id = Configuration::get('PS_HOME_CATEGORY');
}
$object->id_parent = $parent_id;
$object->link_rewrite = array((int)(Configuration::get('PS_LANG_DEFAULT')) => $category);
$object->add();
$object->id_category = $object->id;
$object->id_category_default = $object->id;
$objet->update();
J'obtiens ce message d'erreur :
Fatal error: Uncaught exception 'PrestaShopException' with message 'Property
Category->name is empty' in /var/www/autospareparts.se.com/classes/ObjectModel.php:874
Stack trace:
#0 /var/www/autospareparts.se.com/classes/ObjectModel.php(306):
ObjectModelCore->validateFieldsLang()
#1 /var/www/autospareparts.se.com/classes/ObjectModel.php(490):
ObjectModelCore->getFieldsLang()
#2 /var/www/autospareparts.se.com/classes/Category.php(157):
ObjectModelCore->add(true, false)
#3 /var/www/autospareparts.se.com/get_product.php(51): CategoryCore->add()
#4 {main}
thrown in /var/www/autospareparts.se.com/classes/ObjectModel.php on line 874
erreur liée à un nom de domaine que j'ai attribué
$object->name = "xcvxvvx";
Merci d'avance
OriginalL'auteur Tarek Fellah | 2013-09-10
Vous devez vous connecter pour publier un commentaire.
C'est à cause de l'internationalisation. Le
ObjectModel
les besoins de la classe un tableau pour le nom, exactement comme lelink_rewrite
.Code de travail (testé sur 1.5.4.1, mais devrait fonctionner sur >=1.5)
Uncaught exception 'PrestaShopException' with message 'Catégorie de propriétés->link_rewrite n'est pas valide" dans /var/www/autospareparts.se.com/classes/ObjectModel.php:874
+1 pour la Bonne réponse et aussi j'ai appris de votre réponse 🙂
Si c'est pour certains produits, je vous suggère de modifier une question à ajouter le code que vous utilisez ou pour ouvrir une autre question si celui-ci est résolu.
$lang_id = (int)(Configuration::get('PS_LANG_DEFAULT')); $cat->nom[$lang_id] = $category; $cat->link_rewrite[$lang_id] = Tools::link_rewrite( $categorie);
OriginalL'auteur romainberger
Je pense que c'est la meilleure solution, que de l'ensemble de poignée de noms et de link_rewrite à de multiples PS langages
OriginalL'auteur Tarek Fellah
Lorsque vous essayez d'ajouter une catégorie comme ci ou comme un produit de ce genre que vous obtenez des erreurs, je ne sais pas pourquoi, comme je l'ai moi-même eu des erreurs lors de l'importation de données à partir d'autres système comme drupal.
$c est rien juste un autre tableau de valeurs que j'ai, qui a toutes les catégorie de données connexes. Vous devriez assing vos données associées à chaque élément du tableau.
Vous devriez faire comme ci-dessous:
oui, vous avez raison. mais encore, il fonctionne très bien que je l'ai utilisé beaucoup de fois, et fonctionne parfaitement. Si vous venez de garder les parents id correctement, les catégories seront toujours très bien
OriginalL'auteur Altaf Hussain