davers44 Posted April 18, 2013 Share Posted April 18, 2013 Ciao, dopo numerosi tentativi di aggiornamento falliti alla 1.5 ho rinunciato e per ora rimango con la mia versione 1.4.4. Necessitavo della possibilità della 1.5 di rimuovere il nome categoria dal path degli indirizzi dei prodotti con i friendly url. (da miosito/categoria/nomeprodotto a miosito/nomeprodotto) Sono ancora agli inizi e cambio spesso categorie/sottocategorie piano piano che la mia offerta prodotti si espande e ogni volta che sposto una categoria rischio errori 404 per tutti i prodotti e perdita di pagerank. Sto cercando di arrangiarmi con la 1.4.4 e ho provato semplicemente a togliere i riferimenti alla categoria dalla funzione getProductLink nel file classes/links.php. Dunque da qui: public function getProductLink($id_product, $alias = NULL, $category = NULL, $ean13 = NULL, $id_lang = NULL) { if (is_object($id_product)) return ($this->allow == 1)?(_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)$id_lang).((isset($id_product->category) AND !empty($id_product->category) AND $id_product->category != 'home') ? $id_product->category.'/' : '').(int)$id_product->id.'-'.$id_product->link_rewrite.($id_product->ean13 ? '-'.$id_product->ean13 : '').'.html') : (_PS_BASE_URL_.__PS_BASE_URI__.'product.php?id_product='.(int)$id_product->id); elseif ($alias) return ($this->allow == 1)?(_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)$id_lang).(($category AND $category != 'home') ? ($category.'/') : '').(int)$id_product.'-'.$alias.($ean13 ? '-'.$ean13 : '').'.html') : (_PS_BASE_URL_.__PS_BASE_URI__.'product.php?id_product='.(int)$id_product); else return _PS_BASE_URL_.__PS_BASE_URI__.'product.php?id_product='.(int)$id_product; A qui: public function getProductLink($id_product, $alias = NULL, $category = NULL, $ean13 = NULL, $id_lang = NULL) { if (is_object($id_product)) return ($this->allow == 1)?(_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)$id_lang).(int)$id_product->id.'-'.$id_product->link_rewrite.($id_product->ean13 ? '-'.$id_product->ean13 : '').'.html') : (_PS_BASE_URL_.__PS_BASE_URI__.'product.php?id_product='.(int)$id_product->id); elseif ($alias) return ($this->allow == 1)?(_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)$id_lang).(int)$id_product.'-'.$alias.($ean13 ? '-'.$ean13 : '').'.html') : (_PS_BASE_URL_.__PS_BASE_URI__.'product.php?id_product='.(int)$id_product); else return _PS_BASE_URL_.__PS_BASE_URI__.'product.php?id_product='.(int)$id_product; } Effettivamente sembra funzionare in locale, ma mi chiedo se il file links.php sia effettivamente l'unico file da modificare o se altri file controllano gli indirizzi e il rewrite degli URL prodotto. Non vorrei rischiare qualche errore di rovinare gli URL del negozio col passare tempo. Se c'è qualche esperto che mi conferma di avere fatto tutto il necessario sarei più sicuro a mettere questa modifica "live". Grazie Link to comment Share on other sites More sharing options...
mma87 Posted June 12, 2013 Share Posted June 12, 2013 ciao, se entri nel prodotto, appena sopra l'albero dove scegli le categorie, dovresti avere "Categoria predefinita" assegna il prodotto (se non c'è) alla categoria HOME e imposti HOME come categoria predefinita, dovresti risolvere il tuo problema senza modificare nessun file! ciao 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