Jump to content

Rimuovere nome categoria dall' URL prodotto 1.4


davers44

Recommended Posts

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

  • 1 month later...

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...