blufix79 Posted February 17, 2017 Share Posted February 17, 2017 (edited) Buongiorno a tutti, Sono alle prese con l'ordinamento delle categorie tramite webservices. Mi aspettavo che funzionasse passando in "position" il valore della posizione che vorrei assumesse la categoria nell'ordinamento. Invece mi viene spostata sempre come ultima. Controllando il codice, ho notato che il metodo update esegue sempre un addPosition quando viene chiamato tramite servizio. Questo succede anche se non passo esplicitamente il valore position, ma mantengo quello attualmente settato nella categoria. Qualcuno ha idea del perchè vi sia questa logica? Riporto la parte di codice del metodo update, la versione di Prestashop è 1.6.1.4, ma questo comportamente l'ho riscontrato anche nelle versioni sucessive. File: classes/Category.php // If the parent category was changed, we don't want to have 2 categories with the same position if (!isset($changed)) { $changed = $this->getDuplicatePosition(); } if ($changed) { if (Tools::isSubmit('checkBoxShopAsso_category')) { foreach (Tools::getValue('checkBoxShopAsso_category') as $id_asso_object => $row) { foreach ($row as $id_shop => $value) { $this->addPosition((int)Category::getLastPosition((int)$this->id_parent, (int)$id_shop), (int)$id_shop); } } } else { foreach (Shop::getShops(true) as $shop) { $this->addPosition((int)Category::getLastPosition((int)$this->id_parent, $shop['id_shop']), $shop['id_shop']); } } } Grazie in anticipo per qualsiasi consiglio. Edited February 17, 2017 by blufix79 (see edit history) Link to comment Share on other sites More sharing options...
Fabry Posted February 17, 2017 Share Posted February 17, 2017 Ciao..bel casino!!. cercando ho trovato questo...sembra che la funzione setWsCategories in classes >product.php abbia problemi...prova a fare quella modifica https://github.com/PrestaShop/PrestaShop/pull/5308/commits/39bb35e38f46358a667c2c08816c45f6295265bd https://www.prestashop.com/forums/topic/452799-updating-product-positions-in-categories-using-webservice-api-16014/ dacci news :-) Fabrizio Link to comment Share on other sites More sharing options...
blufix79 Posted February 17, 2017 Author Share Posted February 17, 2017 Ciao Fabry, Grazie per la risposta. Avevo già dato uno sguardo al secondo link che mi hai passato. Provo a spiegarmi meglio, il mio problema non è relativo all'ordinamento del prodotto nella categoria, ma all'ordinamento della categoria stessa rispetto alle categorie appartenenti allo stesso livello. Ad esempio: NomeCategoriaPadre |-NomeCategoria1 - position 1 |-NomeCategoria2 - position 2 |-NomeCategoria3 - position 3 |-NomeCategoria4 - position 4 |-NomeCategoria5 - position 5 Vorrei spostare la categoria con position 2 al posto della 3, ma tramite webservices la categoria viene sempre spostata alla fine e mi ritrovo in questa situazione: NomeCategoriaPadre |-NomeCategoria1 - position 1 |-NomeCategoria3 - position 2 |-NomeCategoria4 - position 3 |-NomeCategoria5 - position 4 |-NomeCategoria2 - position 5 Questo comportamento avviene anche se modifico il solo nome della categoria, ad esempio, o addirittura anche se la rimando cosi come la recupero, senza modificare nulla. Viene sempre spostata per ultima. Il codice che ho inserito nel post precedente si riferisce al file classes/Category.php. Grazie Salvatore. 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