Bienvenue, Invité
Merci de vous identifier ou de vous inscrire.    Mot de passe perdu?

Améliorer la recherche avancée
(1 lecteur(s)) (1) Invité(s)
Aller en basPage: 1234
SUJET:

Améliorer la recherche avancée

#29437
jona
Fresh Boarder
Messages: 4
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Améliorer la recherche avancée

Il y a 8 Années, 8 Mois
Karma: 0  
Salut a tous,

Il n'y à donc pas moyen d'avoir un filtrage classique comme dans la recherche simple?
Filtrage par attributs de produit?

Je recherche depuis ce matin en vain à ajouter le bloc 'Layered navigation' à la recherche avancée.

Merci pour vos réponses.

Jonathan
 
L'administrateur a désactivé l'accès public en écriture.
#54727
ILOA
Moderator
Messages: 612
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Améliorer la recherche avancée

Il y a 7 Années
Karma: 13  
Bonjour,

Après de multiple recherche je ne trouve pas mon bonheur.
Comment tout simplement, dans la recherche avancée, changer des 'OR' en 'AND'.
C'est à dire qu'il prenne en considération les critères de recherche de cette manière:
Concrètement :
attributs :
Marque - Taille de soutien gorge - Tour de taille
Donc à l'heure actuelle si je choisis chacun des critère, j'ai bien entendu 0 résultats, car tour de taille et taille soutien gorge ne peuvent pas être 'compatible'.
Il me faudrait Marque AND (taille soutien gorge OU Tour de taille)

Merci par avance.
 
Besoin d'un site e-commerce, catalogue ou vitrine :
b**contact@i-loa.com**d
Réponse rapide
L'administrateur a désactivé l'accès public en écriture.
#57524
Zard
Junior Boarder
Messages: 25
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Améliorer la recherche avancée

Il y a 6 Années, 9 Mois
Karma: 1  
Yop,

Merci pour ce tuto qui m'a aidé pour la recherche avancée par catégories.

Par contre, j'essaie de rajouter un bouton stock /hors stock dans le moteur de recherche sachant que mes produits sont configurés pour être toujours vendable avec un stock qui peut aller dans le négatif.

Dans la fonction public function getProductCollection() de la page advanced.php, je rajoute le code suivant avant le code rajouté pour la recherche par cat (magento CE 1.5.1):

Code :

if(isset($_GET['show_oos']) && ($_GET['show_oos']==1)) { 
$this->_productCollection->getSelect()->join(array('Stock_Qty'=>Mage::getSingleton('core/resource')->getTableName('cataloginventory_stock_item')),"e.entity_id = Stock_Qty.product_id and Stock_Qty.qty >= 1", 'qty');
}



Quand je prend la rêquete et que je la teste dans mysql elle est bonne.
Cependant Magento me bloque avec l'erreur suivante :
'You cannot define a correlation name ‘Stock_Qty’ more than once'.

Si quelqu'un a une idée car je pense que je ne suis pas loin du but, que ca pourrait aider pas mal de gens qui bosse et là vraiment je sèche sur ce pb.

Merci d'avance !
 
L'administrateur a désactivé l'accès public en écriture.
#57525
blmage
Gold Boarder
Messages: 192
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin

Re:Améliorer la recherche avancée

Il y a 6 Années, 9 Mois
Karma: 13  
Bonjour,

Il y a de fortes chances pour que getProductCollection() soit appelé plus d'une fois, et donc le join() avec, ce qui le fait planter puisque l'alias est déjà utilisé.
Pour corriger ça tu peux par exemple utiliser setFlag() / hasFlag() sur la collection pour vérifier si l'appel à join a déjà été fait et ne pas le refaire
 
Enhanced Admin Grids : personnalisation des grilles de l'admin, éditeur intégré, et bien plus ! (ext. gratuite)
Tous les avis et retours sont bienvenus !
L'administrateur a désactivé l'accès public en écriture.
#57559
Zard
Junior Boarder
Messages: 25
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Améliorer la recherche avancée

Il y a 6 Années, 9 Mois
Karma: 1  
Merci de ton retour blmage,

Effectivement la collection est appelée plusieurs fois. Je sais pas me servir des flags et je suis encore en mode découverte sur Magento, donc je vais essayer de trouver un tuto là dessus pour éviter de passer dans ma boucle plusieurs fois.
 
L'administrateur a désactivé l'accès public en écriture.
#57566
blmage
Gold Boarder
Messages: 192
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin

Re:Améliorer la recherche avancée

Il y a 6 Années, 9 Mois
Karma: 13  
En fait la gestion des flags des collections est très simple. setFlag() permet d'associer une valeur à une clé donnée, getFlag() retourne la valeur d'une clé donnée, et hasFlag() permet de savoir si une valeur a été associée à une clé.
Donc, dans ton cas, ça pourrait donner quelque chose comme ça :

Code :


if (isset($_GET['show_oos']) && ($_GET['show_oos'] == 1)) {
    if (!$this->_productCollection->hasFlag('_oos_value_added')) {
        $this->_productCollection->getSelect()
            ->join(
                array('Stock_Qty' => Mage::getSingleton('core/resource')->getTableName('cataloginventory_stock_item')),
                'e.entity_id = Stock_Qty.product_id and Stock_Qty.qty >= 1',
                'qty'
            );
        $this->_productCollection->setFlag('_oos_value_added', true);
    }
}

 
Enhanced Admin Grids : personnalisation des grilles de l'admin, éditeur intégré, et bien plus ! (ext. gratuite)
Tous les avis et retours sont bienvenus !
L'administrateur a désactivé l'accès public en écriture.
#57571
Zard
Junior Boarder
Messages: 25
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Améliorer la recherche avancée

Il y a 6 Années, 9 Mois
Karma: 1  
Un grand merci à toi!

Cela fonctionne parfaitement, et maintenant je sais me servir des flags dans magento.
 
L'administrateur a désactivé l'accès public en écriture.
#58046
ILOA
Moderator
Messages: 612
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Améliorer la recherche avancée

Il y a 6 Années, 8 Mois
Karma: 13  
Alors voici un petit soucis de plus, j'ai mis la recherche avancée en 'homepage' avec le choix sur 2 attributs.
Le HIC c'est que lorsque je ne choisis rien comme attributs il fait la recherche quand même et me renvoie comme résultats TOUS les produits (avec un bug d'affichage).

Comment l'OBLIGER à choisir un attribut pour effectuer la recherche, ou au pire comment, dans la recherche avancée l'obliger à prendre une option par défaut ?

Merci par avance.
 
Besoin d'un site e-commerce, catalogue ou vitrine :
b**contact@i-loa.com**d
Réponse rapide
L'administrateur a désactivé l'accès public en écriture.
Revenir en hautPage: 1234
Modérateur: Gabriiiel, ILOA, zuiko