osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

3 Pages V   1 2 3 >  
Reply to this topicStart new topic
> [Ultimate SEO] Categorie dans l'URL, Ajouter les categories dans l'URL
s200
posté 17 Jan 2006, 17:08
Message #1


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 73
Inscrit : 3-April 03
Membre no 1030



Bonjour,

J'ai recherché un post sur le sujet mais je n'ai rine trouvé qui s'y rapportait (j'ai du mal chercher car je susi etonné de ne rine trouvé sur ce thème).

La contrib SEO est donc installé, elle a l'air de marcher mais je suis en train de faire une phase de test poussé. Je remarque donc que l'URL génére ne reprend pas les noms des catégories, cequi pourrait avoir un GROS intéret pour le referencement(c pour ca que je pense ne pas etre le seul a avoir posé la question).

Prenons un exemple :
Imaginons que je vende des chaussures, mon URL ressemble en ce moment a :
http://maboutique.com/air-max-546.html

Hors Mes "Air MAx" sont dans la catégorie "Baskets" => "Nike" et je voudrais donc arriver a :
http://maboutique.com/Baskets/Nike/air-max-546.html OU
http://maboutique.com/Baskets-Nike-air-max-546.html (pas possible je pense)

Ceci aurait une grosse influence sur une recherche dans un moteur sur "achat nike air max".....

Est ce techniquement possible ???
Comment arriver a ce résultats ????

Merci d'avance pour vos reponses.



Go to the top of the page
 
s200
posté 18 Jan 2006, 12:40
Message #2


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 73
Inscrit : 3-April 03
Membre no 1030



J'ai vu que la modification avait été apporté pour YASU 2. Le probleme est donc connu...
Go to the top of the page
 
M&M's
posté 18 Jan 2006, 16:29
Message #3


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 119
Inscrit : 17-February 05
Membre no 4812



Salut,

L'option "Add category parent to begining of URLs" présente dans l'admin de Ultimate SEO Url's 2.1d te permet déjà d'afficher tes URLs comme celà: http://maboutique.com/Baskets-Nike-air-max-546.html wink.gif
Go to the top of the page
 
s200
posté 18 Jan 2006, 16:41
Message #4


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 73
Inscrit : 3-April 03
Membre no 1030



L'option est bien a "true" dans l'admin. Dixit l'admin de SEO :
QUOTE
Add category parent to begining of URLs?

This setting will add the category parent name to the beginning of the category URLs (i.e. - parent-category-c-1.html).


Cela ne correspond au resultat que je voudrais obtenir. Toi, M&M's, a tu installer SEO et quels resultats obtiens tu ????

Go to the top of the page
 
Yann06
posté 14 Feb 2006, 14:42
Message #5


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 914
Inscrit : 14-March 05
Membre no 5139



Salut....

s200, j'ai le même souci et en local lorsque je desactive:Add category parent to begining of URLs, j'ai le cpath de la categorie qui viens apres l'url...

j'comprend pô


--------------------
Le meilleur moyen de savoir est de renoncer à connaitre mais, de chercher à comprendre........(R,Barjavel)

Newbie for ever.!.!.!.!.lol
oSC Version "oneilled"
regles du forum,FAQ,liste des contribs
Un GRAND MERCI A tous pour ce magnifique ForumImage IPB
Go to the top of the page
 
s200
posté 15 Feb 2006, 14:15
Message #6


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 73
Inscrit : 3-April 03
Membre no 1030



Je ne me suis pas encore penché dessus.... et vu le peu de réponse qu'a eu ce post, je me suis dit qu'il allair falloir mettre les mains dans le cambouis... et g plein d'autres trucs a faire.

En esperant qu'une bonne ame veuille s'occuper de nous sad.gif
Go to the top of the page
 
Yann06
posté 16 Feb 2006, 18:20
Message #7


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 914
Inscrit : 14-March 05
Membre no 5139



idea.gif j'viens de comprendre, laugh.gif

ça rajoute la categorie superieure à l'url de la sous categorie.....
Mais pas à l'url produit.

j'suis trop c.. blush.gif

Bon, reste plus qu'a trouver comment rajouter tout ça à l'url produit mais avec une limite de taille et de preference vers le bas....(categorie mere en priorite etc...)


--------------------
Le meilleur moyen de savoir est de renoncer à connaitre mais, de chercher à comprendre........(R,Barjavel)

Newbie for ever.!.!.!.!.lol
oSC Version "oneilled"
regles du forum,FAQ,liste des contribs
Un GRAND MERCI A tous pour ce magnifique ForumImage IPB
Go to the top of the page
 
Ryu007
posté 16 Feb 2006, 19:21
Message #8


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1385
Inscrit : 3-June 04
Lieu : Saint-mandé
Membre no 2597



MDR laugh.gif !
Moi aussi, j'avais pas tout compris !

J'ai fais un test en local prometteur, j'ai ce que tu veux s200 cependant je me suis pas penché sur l'optimisation du cache ...

L789 de includes/classes/seo.class.php :
Remplacer :
CODE
$url = $this->make_url($page, $this->get_product_name($p2[1]), $p2[0], $p2[1], '.html', $separator);

par :
CODE
$url = $this->make_url($page, $this->get_product_category_name($p2[1]), $p2[0], $p2[1], '.html', $separator);


Ensuite ajouter la fonction, L997 :
CODE
    function get_product_category_name($pID) {
        $sql = $this->DB->Query("select pd.products_name as pName, p2c.categories_id from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where pd.products_id = '" . (int)$pID . "' and p2c.products_id = '" . (int)$pID . "' and pd.language_id = '" . (int)$this->languages_id . "' limit 1");
        $result = $this->DB->FetchArray($sql);
        
        $sql2 = $this->DB->Query("select categories_name as cName from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$result['categories_id'] . "' and language_id = '" . (int)$this->languages_id . "' limit 1");
        $result2 = $this->DB->FetchArray($sql2);

        $cName = $this->strip($result2['cName']);
        $pName = $this->strip($result['pName']);
        
        $return = $cName . '/' . $pName;

      return $return;
    }


Comme on peut le constater, c'est juste pour un test, il faut s'occuper du cache !

Cordialement

-------------- EDIT --------------
Finalement remplacer la fonction ci-dessus par :
CODE

    function get_product_category_name($pID) {
      $sql = $this->DB->Query("select categories_id from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$pID . "'");
      $result = $this->DB->FetchArray($sql);
      
      $cName = $this->get_category_name($result['categories_id']);
      $pName = $this->get_product_name($pID);

      $return = $this->strip($cName) . '/' . $this->strip($pName);
      return $return;
    }


C'est déjà plus propre !
-------------- EDIT --------------


--------------------
Image IPB Image IPB
Go to the top of the page
 
maxime
posté 17 Feb 2006, 11:17
Message #9


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 580
Inscrit : 11-August 04
Membre no 3034



J'ai testé, ça rajoute bien la catégorie dans l'url.
Mais cela pose un problème. le tiret fout le camp :
Exemple :

Nom du produit : produit tartanpion dans la catégorie yop
Avant : http://monurl/produit-tartanpion-c-551.html
Après : http://monurl/yop/produittartanpion-c-551.html

Go to the top of the page
 
Ryu007
posté 17 Feb 2006, 12:15
Message #10


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1385
Inscrit : 3-June 04
Lieu : Saint-mandé
Membre no 2597



J'ai remplacé la fonction strip pour les caractères spéciaux...
A voir :
CODE

    // Fonction nettoyant les URLs
    function strip($string) {
      $string = str_replace(array('é', 'É', 'è', 'È', 'ê', 'Ê', '€', 'ë', 'Ë'), 'e', $string);
      $string = str_replace(array('à', 'À', 'â', 'á', 'Á', 'á', 'æ', 'å', 'ã'), 'a', $string);
      $string = str_replace(array('ï', 'í', 'î'), 'i', $string);
      $string = str_replace(array('ç', 'Ç'), 'c', $string);
      $strip_array = array('&', '"', ' ', chr(33), chr(34), chr(35), chr(36), chr(37), chr(38), chr(39), chr(40), chr(41), chr(42), chr(43), chr(44), chr(45), chr(46), chr(47), chr(58), chr(59), chr(60), chr(61), chr(62), chr(63), chr(91), chr(92), chr(93), chr(94), chr(95), chr(96), chr(123), chr(124), chr(125), chr(126));  
      $string = str_replace($strip_array, '-', $string);
      $string = preg_replace('(( )|(  )|(, )|( & )|( - )|(:)|(\')|(&#39)|(__)|(--))', '-', strtolower($string));
      return $this->short_name($string);
    }


--------------------
Image IPB Image IPB
Go to the top of the page
 
Yann06
posté 17 Feb 2006, 15:18
Message #11


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 914
Inscrit : 14-March 05
Membre no 5139



Juste un mot:

Bravo Ryu et merci (ça fait deux!! pardon biggrin.gif )

Crois-tu qu'il y ait réellement une limite à la taille des urls???

si oui, peut-t-on y ajouter un "substr(" ou autre et comment definir la priorité de la categorie mère???


--------------------
Le meilleur moyen de savoir est de renoncer à connaitre mais, de chercher à comprendre........(R,Barjavel)

Newbie for ever.!.!.!.!.lol
oSC Version "oneilled"
regles du forum,FAQ,liste des contribs
Un GRAND MERCI A tous pour ce magnifique ForumImage IPB
Go to the top of the page
 
maxime
posté 17 Feb 2006, 15:29
Message #12


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 580
Inscrit : 11-August 04
Membre no 3034



Quelle efficacité !
J'ai testé sur ma boutique, pas de soucis tongue.gif
Go to the top of the page
 
Ryu007
posté 17 Feb 2006, 16:01
Message #13


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1385
Inscrit : 3-June 04
Lieu : Saint-mandé
Membre no 2597



Je m'y connais pas assez en référencement pour te dire quoi faire, à mon goût, pour la longeur des URLs, il faut surtout prendre en compte l'efficacité pour le référencement (Lien ci-dessous).

Voir ce sujet sur WebRankInfo : URL Rewriting et .htaccess -> Bonne longueur pour URL

Mais bon, moi j'ai fais un test sur ma boutique en local (je sais pas encore si je vais l'ajouter à ma boutique) et le résultat est plutot satisfaisant pour la longueur, et pourtant le nom de mes rubriques est loin d'etre court !
Cordialement


--------------------
Image IPB Image IPB
Go to the top of the page
 
Phocea
posté 17 Feb 2006, 17:39
Message #14


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1448
Inscrit : 12-March 05
Lieu : Chuiche
Membre no 5120



Sympa la modif ca fait un peu plus propre dans l'url dans un sens. Par contre niveau referencement c est kif kif..
Petite mise en garde par contre si vous changez le code sur une boutique deja reference car google va s'y perdre un peu au debut ..donc pas de panique, uen bonne googlemap aidera GG .. pour les autres faudra etre patient

au passage Ryu007 ..l'erreur de la disparition de - dans le nom des produits ne venait pas d'un pb dans la fonction strip mais d'ubn petit bug que tu as introduit quand tu a re-ecrit ta fonction get_product_category_name en plus propre smile.gif
Tu fais un strio sur $pName alors qu il a deja ete fait lors du passage dans get_product_name... au 2eme il vire les -

Juste comme ci dessous ca marche super smile.gif

CODE
    function get_product_category_name($pID) {
      $sql = $this->DB->Query("select categories_id from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$pID . "'");
      $result = $this->DB->FetchArray($sql);
      
      $cName = $this->get_category_name($result['categories_id']);
      $pName = $this->get_product_name($pID);

      $return = $cName . '/' . $pName;
      return $return;
    }


Ceci dit en passant ma fonction strip est tout a fait differente, on doit pas etre a la meme version de SEO (dans al mienne je config les echange de caractere speciaux dans l admin)
Go to the top of the page
 
Phocea
posté 17 Feb 2006, 18:55
Message #15


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1448
Inscrit : 12-March 05
Lieu : Chuiche
Membre no 5120



Putaing je devrais chopper la grippe plus souvent, après je pete la forme )ca doit etre les vitamines ..ou l infirmiere je sais pas smile.gif

Bref j ai un peu creuser l idee de ryu car dans mon cas j ai aussi des sous categories ... et du coup ca me faisait des url du style:
http://www.monsite.com/nomcategory1nomcate...du-produit.html
et j aurai prefere avoir un truc du style:
www.monsite.com / nom_category1_nom_categorie2/ nom du produit.html

Pour ca il suffit de fait 3 petit changement:

Si vous avez la version SEO 2.1 remplacer la fonctions trip par:

CODE
/**
* Function to strip the string of punctuation and white space
* @author Bobby Easland
* @version 1.0
* @modified 17/02/2005 Phocea
* @version 1.1
* @param string $string
* @param string $separator (v1.1)
* @return string Stripped text. Removes all non-alphanumeric characters.
*/    
    function strip($string, $separator = '-'){
        $pattern = $this->attributes['SEO_REMOVE_ALL_SPEC_CHARS'] == 'true'
                        ?    "([^[:alnum:]])+"
                        :    "([[:punct:]])+";
        $anchor = ereg_replace($pattern, '', strtolower($string));
        $pattern = "([[:space:]]|[[:blank:]])+";
        $anchor = ereg_replace($pattern, $separator, $anchor);
        if ( is_array($this->attributes['SEO_CHAR_CONVERT_SET']) ) $anchor = strtr($anchor, $this->attributes['SEO_CHAR_CONVERT_SET']);
        return $this->short_name($anchor); // return the short filtered name
    } # end function


Si vous avez la meme version que ryu:
CODE

    // Fonction nettoyant les URLs
    function strip($string, $separator = '-') {
      $string = str_replace(array('é', 'É', 'è', 'È', 'ê', 'Ê', '€', 'ë', 'Ë'), 'e', $string);
      $string = str_replace(array('à', 'À', 'â', 'á', 'Á', 'á', 'æ', 'å', 'ã'), 'a', $string);
      $string = str_replace(array('ï', 'í', 'î'), 'i', $string);
      $string = str_replace(array('ç', 'Ç'), 'c', $string);
      $strip_array = array('&', '"', ' ', chr(33), chr(34), chr(35), chr(36), chr(37), chr(38), chr(39), chr(40), chr(41), chr(42), chr(43), chr(44), chr(45), chr(46), chr(47), chr(58), chr(59), chr(60), chr(61), chr(62), chr(63), chr(91), chr(92), chr(93), chr(94), chr(95), chr(96), chr(123), chr(124), chr(125), chr(126));  
      $string = str_replace($strip_array, $separator, $string);
      $string = preg_replace('(( )|(  )|(, )|( & )|( - )|(:)|(\')|(&#39)|(__)|(--))', '-', strtolower($string));
      return $this->short_name($string);
    }


Puis environ L948 dans la fonction function get_category_name(&$cID){

CODE
$cName = $this->strip($cName, '_');


et finalement L1515 (marignan) dans la fonction generate_categories_cache()

CODE
$define = 'define(\'CATEGORY_NAME_' . $id . '\', \'' . $this->strip($name, '_') . '\');';
Go to the top of the page
 
Yann06
posté 20 Feb 2006, 18:18
Message #16


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 914
Inscrit : 14-March 05
Membre no 5139



Bonsoir à tous.

Ch'tit question en passant.....

J'ai parfois 3 sous categories:

cat_0==> ss_cat1==> ss_cat2==> ss_cat3

Lorsque je suis dans la ss_cat3 mon url fait: ss_cat2/ss_cat3-c-XX_XX_XXX_XXX.html

Alors que pour le referencement, l'ideal serait d'avoir en priorité la categorie mère et la 1ere ss_cat

J'ai essayé d'inverser certaines lignes de code mais comme dab ma methode bourrin à ses limites (les miennes blush.gif )

Si vous avez une idée

merci d'avance.


--------------------
Le meilleur moyen de savoir est de renoncer à connaitre mais, de chercher à comprendre........(R,Barjavel)

Newbie for ever.!.!.!.!.lol
oSC Version "oneilled"
regles du forum,FAQ,liste des contribs
Un GRAND MERCI A tous pour ce magnifique ForumImage IPB
Go to the top of the page
 
Phocea
posté 20 Feb 2006, 19:39
Message #17


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1448
Inscrit : 12-March 05
Lieu : Chuiche
Membre no 5120



Hm mca doit etre du cote de

CODE
                switch(true){
                    case ($this->attributes['SEO_ADD_CAT_PARENT'] == 'true'):
                        $sql = "SELECT c.categories_id, c.parent_id, cd.categories_name as cName, cd2.categories_name as pName  
                                FROM ".TABLE_CATEGORIES." c,
                                ".TABLE_CATEGORIES_DESCRIPTION." cd
                                LEFT JOIN ".TABLE_CATEGORIES_DESCRIPTION." cd2
                                ON c.parent_id=cd2.categories_id AND cd2.language_id='".(int)$this->languages_id."'
                                WHERE c.categories_id='".(int)$single_cID."'
                                AND cd.categories_id='".(int)$single_cID."'
                                AND cd.language_id='".(int)$this->languages_id."'
                                LIMIT 1";
                        $result = $this->DB->FetchArray( $this->DB->Query( $sql ) );
                        $cName = $this->not_null($result['pName']) ? $result['pName'] . ' ' . $result['cName'] : $result['cName'];
                        break;
                    default:
                        $sql = "SELECT categories_name as cName
                                FROM ".TABLE_CATEGORIES_DESCRIPTION."
                                WHERE categories_id='".(int)$single_cID."'
                                AND language_id='".(int)$this->languages_id."'
                                LIMIT 1";
                        $result = $this->DB->FetchArray( $this->DB->Query( $sql ) );
                        $cName = $result['cName'];
                        break;
                }                


Le select va chercher le nom de la categorie pour le c_path. Dans le premier cas ca recupere aussi la categorie parente ..il faudrait dans ton cas que tu changes la requete pour qu elle renvois la categorie mere + sa premiere sous categorie.

Par contre je vois que tu indique que tes urls sont du type sscat2/sscat3_produit ?? T'as bidouillé quoi pour arriver a ca ? Dans l admin tu devrais avoir une option qui te permet justement d afficher la categorie mere avec la categorie du produit par defaut et tu te retrouver avec un url sscateg2-sscateg3-nomduproduit
Go to the top of the page
 
Yann06
posté 21 Feb 2006, 18:24
Message #18


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 914
Inscrit : 14-March 05
Membre no 5139



Tchô phocea...

lorsque je suis sur la page produit, c'est plutot ça: sscateg2-sscateg3/nomduproduit-p-XXX.html
J'ai mal tapé ma question blush.gif

en fait que je sois dans une categorie ou dans product_info, ce sont les deux categories parentes qui apparaissent.

alors que pour bon nombre d'entre nous, c'est la categorie mère qui est la plus percutante pour le référencement. rolleyes.gif



--------------------
Le meilleur moyen de savoir est de renoncer à connaitre mais, de chercher à comprendre........(R,Barjavel)

Newbie for ever.!.!.!.!.lol
oSC Version "oneilled"
regles du forum,FAQ,liste des contribs
Un GRAND MERCI A tous pour ce magnifique ForumImage IPB
Go to the top of the page
 
Phocea
posté 21 Feb 2006, 18:36
Message #19


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1448
Inscrit : 12-March 05
Lieu : Chuiche
Membre no 5120



Ca se passe donc bien dans le code que je t ai montré dans mon précédent message ... cette requete recupere la categorite parente directment au dessus de la courante et elle les concatenne.

Il faut que tu fasse une requete qui retrouve la categorie mere au plus haut niveau pour une categorie donné, et tu auras ta solution wink.gif
Go to the top of the page
 
s200
posté 23 Feb 2006, 11:41
Message #20


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 73
Inscrit : 3-April 03
Membre no 1030



Arf, salut tous,

G un peu honte de n'arriver que maintenant, mais la charge de travail est pas mal de mon coté. Je ne peux donc que remercier nos chers contributeurs Ryu007 et Phocea, j'ai intégré direct les modifs et tout marche perfect.
Au point ou nous en sommes il serait peu etre interréssant de passer a la postérité (vite fait quoi...) en considérant que cette modif DOIT faire parti de la contribution SEO (je m'etonne meme que cela n'ai pas été fait avant).

Bon, je vais essayer si j'ai le temps(on passe en dédié aujourd'hui normalement, et j'ai un aute site a faire...) d'apporter ma petite contribution en essayant de prendre les "HTML TAGS" lié au catégorie plutot que de prendre le nom de la catégorie.... interressant pour le ref mais je dois neammoins retrouver le post sur webrankinfo concernant la longueur des URLS........

Et encore merci.
Go to the top of the page
 
Maverick
posté 22 Mar 2006, 16:55
Message #21


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 691
Inscrit : 18-March 04
Lieu : Lille
Membre no 2151



Salut à tous biggrin.gif

à propos de longueur d'url, ne pourrait-on pas supprimer les id situés avant le ".html"?
Ca représente quand meme pas mal de caractères de gagnés....
De 1 à x pour l'id du produit, et toute une tartine pour les sous catégories... cry.gif

YASU, pour info, ne reprend pas les id en fin d'url et prend en charge toutes les sous catégories....
exemple: http://www.e-podo.com/podologie/recouvrement/mousses+eva

wink.gif


--------------------
MS2 + une centaine de contribs...
Image IPB
Go to the top of the page
 
Phocea
posté 5 Apr 2006, 16:47
Message #22


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1448
Inscrit : 12-March 05
Lieu : Chuiche
Membre no 5120



Je remonte un peu les gravats de la cave mais quelqu'un m'a justicieusement fait remarque que ca serait encore mieux d avoir des URL du style

h**p://mondomaine/nom_categorie1/nom_categorie2/nom-du-produits-c_xx_xx.html
plutot que
h**p://mondomaine/nom_categorie1_nom_categorie2/nom-du-produits-c_xx_xx.html

comme je l'avais filé auparavant

Donc bref il faut juste une petite modif, en plus de elle déjà donné avant:

Dans
function generate_categories_cache(){
changer (ou commenter)
CODE

$name = $this->not_null($category['pName']) ? $category['pName'] . ' ' . $category['cName'] : $category['cName'];
$define = 'define(\'CATEGORY_NAME_' . $id . '\', \'' . $this->strip($name, '_') . '\');';

par
CODE

// Changes for categories as directories
$name = $this->not_null($category['pName']) ? $this->strip($category['pName'], '_') . '/' . $this->strip($category['cName'], '_') : $this->strip($category['cName'], '_');
$define = 'define(\'CATEGORY_NAME_' . $id . '\', \'' . $name . '\');';


Puis au cas ou on utilise pas le cache il faut aussi changer dans get_category_name
CODE

$cName = $this->not_null($result['pName']) ? $result['pName'] . ' ' . $result['cName'] : $result['cName'];

par
CODE

// Changes for categories as directories
$cName = $this->not_null($result['pName']) ? $this->strip($result['pName'], '_') . '/' . $this->strip($result['cName'], '_') : $this->strip($result['cName'], '_');


puis commenter la ligne
CODE

$cName = $this->strip($cName, '_');

comme suit
CODE

// Change for categories as directories
//$cName = $this->strip($cName, '_');


Et c'est tout bon .. pas encore de solution pour virer les xxx pour le product id ou categories par contre
Go to the top of the page
 
ZuckBin
posté 26 Apr 2006, 09:37
Message #23


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 58
Inscrit : 16-May 04
Membre no 2497



Bonjour,

Est ce quelqu'un sait comment remplacer juste les espaces par des tirets "-" dans les noms de categories d'apres cette fonction du fichier seo.class.php de Chemo.

Tout le reste me convient tel quel =)

Et avec Remove all non-alphanumeric characters? sur TRUE dans les options.

CODE
    function strip($string){
        if ( is_array($this->attributes['SEO_CHAR_CONVERT_SET']) ) $string = strtr($string, $this->attributes['SEO_CHAR_CONVERT_SET']);
        $pattern = $this->attributes['SEO_REMOVE_ALL_SPEC_CHARS'] == 'true'
                        ?    "([^[:alnum:]])+"
                        :    "([[:punct:]])+";
        $anchor = ereg_replace($pattern, '', strtolower($string));
        $pattern = "([[:space:]]|[[:blank:]])+";
        $anchor = ereg_replace($pattern, '-', $anchor);
        return $this->short_name($anchor); // return the short filtered name
    } # end function


Merci de votre aide.
Cordialement.


--------------------
osCSS 1.0.1 basée sur Ms2fr + contribs...
Go to the top of the page
 
ZuckBin
posté 26 Apr 2006, 10:58
Message #24


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 58
Inscrit : 16-May 04
Membre no 2497



Bonjour,

J'ai trouvé la solution.

Il suffit de metre dans les options:
CODE
Enable SEO URLs?    true         
Add cPath to product URLs?    true         
Add category parent to begining of URLs?    true         
Filter Short Words    1         
Output W3C valid URLs (parameter string)?    false         
Enable SEO cache to save queries?    true         
Enable product cache?    true         
Enable categories cache?    true         
Enable manufacturers cache?    true         
Enable articles cache?    true         
Enable topics cache?    true         
Enable information cache?    true         
Enable automatic redirects?    true         
Choose URL Rewrite Type    Rewrite         
Enter special character conversions             
Remove all non-alphanumeric characters?    true         
Reset SEO URLs Cache    false


C'est filter short word qui etait par defaut à 3 qui causait des erreurs d'affichages.

A utiliser avec la fonction strip de Ryu, plus haut dans ce meme post.

Voila +++


--------------------
osCSS 1.0.1 basée sur Ms2fr + contribs...
Go to the top of the page
 
Aurélien32
posté 16 May 2006, 03:52
Message #25


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 93
Inscrit : 20-January 05
Lieu : Toulouse
Membre no 4457



Bravo a tous pour cette superbe adaptation cela dit j'ai une question est ce que quand on arrive en final sur la fiche produit (product_info.php) on est toujours censés avoir les répertoires recréés avant le nom_produit.html ?!? biggrin.gif


--------------------
~ boutique en prod. ~.
OSC 2.2 MS2 - avec un sacré paquet de contributions !
Go to the top of the page
 

3 Pages V   1 2 3 >
Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 28th March 2024 - 10:55
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)