Nous ne répondons seulement qu'aux sujets dont l'auteur a complété sa signature [Lire]



Vous avez des soucis avec votre Opencart v1.5.x, nous pouvons résoudre vos problèmes,
contactez le Bureau France !

par tel: 0 891 690 175 ou par
email

Génération automatique des URL's Alias

Vous connaissez quelques petites ficelles susceptibles de vous faciliter la vie, venez les partager dans ce forum.

Génération automatique des URL's Alias

Messagepar LeorLindel » 18 Oct 2013, 10:04

Bonjour à tous,

Voici une requête SQL qui générera les URL's alias automatiquement pour vos produits et catégories
Code: Tout sélectionner
    DELETE FROM  oc_url_alias WHERE 1;

    INSERT INTO  oc_url_alias
    SELECT null as url_alias_id,
    concat('product_id=',product_id) as query,
    REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(lower(name),':',''),'~',''),'!',''),'@',''),'#',''),'$',''),'%',''),'*',''),'(',''),')',''),'+',''),'{',''),'}',''),'[',''),']',''),';',''),'''',''),':',''),'"',''),'<',''),'>',''),'?',''),' ','-'),'><',''),'<>','') as keyword FROM  oc_product_description WHERE language_id=1;

    INSERT INTO  oc_url_alias
    SELECT null as url_alias_id,
    concat('category_id=',category_id) as query,
    REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(lower(name),':',''),'~',''),'!',''),'@',''),'#',''),'$',''),'%',''),'*',''),'(',''),')',''),'+',''),'{',''),'}',''),'[',''),']',''),';',''),'''',''),':',''),'"',''),'<',''),'>',''),'?',''),' ','-'),'><',''),'<>','') as keyword FROM  oc_category_description WHERE language_id=2;

    UPDATE  oc_url_alias SET keyword=concat(keyword,'2')
     WHERE url_alias_id NOT IN (SELECT *
                        FROM (SELECT MIN(n.url_alias_id)
                                FROM  oc_url_alias n
                            GROUP BY n.keyword) x);
                     
    UPDATE  oc_url_alias SET keyword=concat(keyword,'3')
     WHERE url_alias_id NOT IN (SELECT *
                        FROM (SELECT MIN(n.url_alias_id)
                                FROM  oc_url_alias n
                            GROUP BY n.keyword) x);

Si vous avez un préfixe à vos tables différent que celui initial (oc_), ne pas oublier de le remplacer devant le nom des tables de cette requête.
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Retourner vers Trucs et astuces

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron