Recherche Par Identifiant

9 messages dans ce sujet

Posté(e) · Signaler ce message

Après vérification ma confusion s'explique car la recherche par identifiant s'appelait "recherche par référence" sur une ancienne boutique que j'utilisais il y a encore peu.

 

Donc je reprends le sujet.

Pour la 6.3.

 

Est-il possible d'avoir une recherche par identifiant dans l'admin, comme elle existait sur des versions précédentes ?

 

C'est bien pratique quand on a des milliers de produits, de pouvoir afficher un seul produit par son identifiant, pour pouvoir le modifier ou le supprimer.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

La recherche par identifiant n'est effectivement pas géré par le moteur de recherche des produits. Si vous connaissez l'id du produit vous pouvez directement appeler le produit en back office via son URL: www.votre_site.fr/administrer/produits.php?id=XX&mode=modif.

XX correspond à l'id du produit.

Sinon il faut faire un développement dans la fonction affiche_liste_produits du fichie display_admin_forms.php pour ajouter la recherche par id de produit dans le formulaire de recherche.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

OK. Je me doutais qu'il y avait du boulot. 

 

L'url que vous avez donné par contre ne permet pas l'affichage de la ligne avec les icônes d'action (supprimer, modifier...). Cela réaffiche simplement la page avec la liste complète.

 

Je me suis arrangé finalement en appelant la page dans le front office en mode administrateur et en ajoutant un lien sur la fiche du produit, qui permet de le supprimer. Ce lien étant placé à côté du lien permettant de le modifier.

 

J'ai remplacé :

 

<a href="' . $GLOBALS['administrer_url'] . '/produits.php?mode=modif&amp;id=' . $product_id . '" class="label">' . MODIFY_PRODUCT . '</a>

 

par

 

<a href="' . $GLOBALS['administrer_url'] . '/produits.php?mode=modif&amp;id= . $product_id . '" class="label" target="_blank">' . MODIFY_PRODUCT . '</a> <p> <a href="' . $GLOBALS['administrer_url] . '/produits.php?mode=suppr&amp;id=' . $product_object->id . '" class="label"  target="_blank">' . SUPPRIMER . '</a></p>';

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

Effectivement mon lien était incomplet, j'ai modifié mon message. Ce lien permet d’accéder directement à la page de détail du produit en back office.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Ce que je souhaiterais c'est pouvoir afficher par son identifiant un seul produit dans la page de résultat qui vient avec administrer/produits.php?cat_search=null&home_search=null&new_search=null&promo_search=null&top_search=null&reference_search=&name_search=identifiant&action=Rechercher

 

Ainsi on pourrait avoir accès visuel aux options des produits : action, référence, catégorie... nombre de vues. Disons que c'est plus direct qu'en tapant le nom ou autre. On est sûr d'obtenir le produit et lui seul, en cherchant par identifiant.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

Par exemple dans la fonction affiche_liste_produits vous pouvez remplacer

            if (isset($frm['reference_search']) && !empty($frm['reference_search'])) {
                $where .= " AND p.reference = '" . nohtml_real_escape_string($frm['reference_search']) . "'";
            }

par

            if (isset($frm['reference_search']) && !empty($frm['reference_search'])) {
                $where .= " AND (p.reference = '" . nohtml_real_escape_string($frm['reference_search']) . "' OR p.id = '" . nohtml_real_escape_string($frm['reference_search']) . "')";
            }

 

De cette façon vous pouvez utiliser le champ "Référence du produit" du moteur de recherche pour faire une recherche sur l'id du produit.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

J'ai placé le code et j'obtiens cette erreur, que je cherche une référence ou un identifiant :

 

 

[admin info : Une erreur de connexion à la base s'est produite SELECT SQL_CALC_FOUND_ROWS p.*

FROM peel_produits p

WHERE 1 AND p.reference = 'Xeon' OR p.id = 'Xeon') ORDER BY `position` ASC, `nom_fr` ASC, `prix` ASC LIMIT 0, 50]
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY `position` ASC, `nom_fr` ASC, `prix` ASC LIMIT 0, 50' at line 5

Notice: Erreur SQL - SELECT SQL_CALC_FOUND_ROWS p.* FROM peel_produits p WHERE 1 AND p.reference = 'Xeon' OR p.id = 'Xeon') ORDER BY `position` ASC, `nom_fr` ASC, `prix` ASC LIMIT 0, 50 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY `position` ASC, `nom_fr` ASC, `prix` ASC LIMIT 0, 50' at line 5 - Page concernee : /administrer/produits.php?cat_search=null&home_search=null&new_search=null&promo_search=null&top_search=null&reference_search=Xeon&name_search=&action=Rechercher - Ip : 86.76.78.86 in //lib/fonctions/database.php on line 133

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /lib/fonctions/database.php on line 191

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

dans votre erreur on peux voir une parenthèse qui manque dans la requête : WHERE 1 AND p.reference = 'Xeon' OR p.id = 'Xeon'). La ligne à modifier comprend bien la parenthèse avant la référence :

 $where .= " AND (p.reference = '" . nohtml_real_escape_string($frm['reference_search']) . "' OR p.id = '" . nohtml_real_escape_string($frm['reference_search']) . "')";

=> Y a t'il ces parenthèses dans votre code?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

En effet, c'était ça. Merci !

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping