Bonjour,
Ceci est une bouteille( biodégradable) à la mer.
Je m'explique, j'utilise la solution easy_store de joomshaper comme catalogue.
Le module recherche se comporte comme un filtre et si je fais une recherche comme lapin blanc je vais avoir en résultat tous les produits avec Lapin OU/ET Blanc . Je souhaiterais avoir que ceux comportant Lapin ET Blanc .
Le support dis qu'il vont travailler dessus mais cela fais 1 mois et je n'ai pas de retour.
J'ai chercher plusieurs solutions.
1) Le composant com_finder de joomla qui fonctionne parfaitement , mais je n'arrive pas à afficher les images du produit pour le listing . J'ai demander au support des pistes afin de faire des modifications mais vu que c'est de la personnalisation ils ne m'en ont pas donnée.
2) Modifier le code du composant easystore pour que la recherche soit un ET et non un OU/ET mais idem je n'y arrive pas (manque de connaissance ) .Je pense avoir identifié la fonction en cause mais je ne sais pas quoi modifier.
Voici le code de la fonction recherche
Merci d'avance si quelqu'un peu me donner une piste .
Ceci est une bouteille( biodégradable) à la mer.
Je m'explique, j'utilise la solution easy_store de joomshaper comme catalogue.
Le module recherche se comporte comme un filtre et si je fais une recherche comme lapin blanc je vais avoir en résultat tous les produits avec Lapin OU/ET Blanc . Je souhaiterais avoir que ceux comportant Lapin ET Blanc .
Le support dis qu'il vont travailler dessus mais cela fais 1 mois et je n'ai pas de retour.
J'ai chercher plusieurs solutions.
1) Le composant com_finder de joomla qui fonctionne parfaitement , mais je n'arrive pas à afficher les images du produit pour le listing . J'ai demander au support des pistes afin de faire des modifications mais vu que c'est de la personnalisation ils ne m'en ont pas donnée.
2) Modifier le code du composant easystore pour que la recherche soit un ET et non un OU/ET mais idem je n'y arrive pas (manque de connaissance ) .Je pense avoir identifié la fonction en cause mais je ne sais pas quoi modifier.
Voici le code de la fonction recherche
Code PHP:
protected function filterBySearchQuery($query, $search)
{
if (empty($search)) {
return $query;
}
$search = trim($search);
$db = $this->getDatabase();
$search = StringHelper::toRegexSafeString($search);
$tagsSubQuery = $this->getProductsFromTags($search);
$query->where($db->quoteName('a.title') . ' REGEXP ' . $db->quote($search) . ' OR ' . $db->quoteName('a.id') . ' IN (' . $tagsSubQuery . ')');
return $query;
}
Code PHP:
public static function toRegexSafeString($search)
{
if (empty($search)) {
return '';
}
$search = preg_replace('/\s+/', ' ', $search);
$keywords = explode(' ', $search);
$value = array_map(function ($item) {
return preg_quote($item, '/');
}, $keywords);
return implode('|', $value);
}
Merci d'avance si quelqu'un peu me donner une piste .