- Posts: 180
- Thank you received: 0
Pdf indexer et multi critere
-- Joomla version -- : 3.9.27
Hello je voudrais savoir si a votre avis c'est viable comme solution
Actuellement j'ai un client qui vend des pdf a l'unité via un combo foireux....
J2store pour la vente
Edocman pour la stokage et l'indexation pdf
K2 pour les champs et la recherche
Je pense que je pourrais créer le tout en un seul hikashop
1 pdf = produit
Ajout de champs et de la recherche multicritere via les champs de hikabuissness
Ajout d'un indexeur de contenu dans les pdf
Viable avec hikashop ?
Merci par avance
Please Log in or Create an account to join the conversation.
Oui, cela me semble tout a fait faisable avec HikaShop.
Pour l'indexeur de contenu des PDFs, vous pourriez simplement faire un plugin HikaShop implémentant les évènements onAfterProductUpdate / onAfterProductCreate qui utiliserait une librairie du genre www.phpclasses.org/package/8908-PHP-Conv...F-to-plain-text.html pour parser les fichiers du produit pour mettre le contenu dans un champs personnalisé de la table "produit" et de type "texte". Un plugin comme cela nécessiterait quelques dizaines de lignes de code tout au plus, donc rien de très compliqué pour un développeur PHP.
Ainsi, vous pourriez simplement sélectionner ce champs personnalisé en plus dans le filtre de recherche d'HikaShop.
Please Log in or Create an account to join the conversation.
faudrait que je vois avec le dev pour que l'indexation ce fasse à l'import (on parle de la récupération de 20 ans de pdf de recherche)
avec ce seul champs texte on peut faire en sorte que le champs de recherche tape dedans ?
est ce compatible avec le finder de joomla ?
on peut facilement monté un filtrage multi critére avec la buissnes (genre liste déroulante dans les année et dans un champs auteur ou autre ect) ?
Please Log in or Create an account to join the conversation.
Nous allons justement rajouter des triggers à notre système d'import dans la prochaine version d'HikaShop qui sortira dans quelques jours. Donc il suffira de rajouter le trigger de l'import au plugin pour gérer aussi le parsing des fichiers durant l'import CSV.
Donc cela ne sera pas un souci.
Par contre, je parle ici de la recherche multi critère avec le système de filtres d'HikaShop Business :
www.hikashop.com/support/documentation/1...-filter-listing.html
Il permet "genre liste déroulante dans les année et dans un champs auteur ou autre ect".
Le système "smart search" / "finder" de Joomla ne tapera pas dans le champ personnalisé par contre.
Vous avez alors deux solutions si vous voulez utiliser le finder:
- soit vous mettez le texte des fichiers dans la description des produits, et vous créer un champ personnalisé pour la description, et ainsi il suffira d'un petit override de la page produit pour afficher le contenu du champ à la place de la description.
- soit il va falloir importer les données dans le finder de Joomla, et ce n'est pas simple, mais quand même faisable pour un développeur chevronné.
Mais notez que le finder n'est pas vraiment fait pour la recherche multi critère. Il y a moyen de faire des choses avec, mais c'est assez complexe. Il sera plus simple d'utiliser le système de filtres dans HikaShop.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Merci
Please Log in or Create an account to join the conversation.
Oui. Vous pouvez faire comme ceci dans une plugin du groupe HikaShop:
Please Log in or Create an account to join the conversation.
- j'ai pas trouvé la liaision entre le fichier et la produit en bdd c'est stoké comment ?
- au niveau de l'envenement de l'enregistrement du produit, lupload du fichier et le scan vous recommander quel evenement car j'ai trouvé un plugin qui permet de voir les evenement de hikashop mais il ne marche pas en j4
Merci
Please Log in or Create an account to join the conversation.
1. Vous n'avez pas dit comment vous liez un PDF à un produit donc difficile de vous dire quoi faire dans la base de données.
Si vous utilisez un champ personnalisé de la table "produit" et de type "ajax file" pour permettre l'upload de ces PDFs pour les produits, alors le nom du fichier est stocké dans la table hikashop_product dans la colonne du même nom que le nom de colonne configurée dans le champ personnalisé.
Si vous utilisez l'interface dans la section "Images & Fichiers" de l'interface des produits, alors le nom du fichier est stocké dans la table hikashop_file avec file_ref_id contenant l'id du produit.
Dans les deux cas précédents, les fichiers sont stockés dans media/com_hikashop/upload/safe/ à moins que vous ayez changé le chemin par défaut dans la configuration HikaShop.
Et si vous utilisez autre chose pour lier produits et fichiers, alors je ne sais pas.
2. Je vous ai mis les deux évènements à implémenter dans mon précédent message: www.hikashop.com/forum/install-update/90...-critere.html#336879
Please Log in or Create an account to join the conversation.
l'objectif maintenant serait de pouvoir faire une action de masse pour lancer le plugin indexer ... mais on ne trouve pas la solution
notre plugin utilise "onAfterProductCreate" et "onAfterProductUpdate", j'aimerais lancer ma fonction "indexFile($element)" en action de masse, qui prend donc en paramètre la variable &$element disponible depuis ces évènements qui me permet de récupérer le fichier lié au produit actuel via son id.
est-il possible de récupérer le produit dans l'action de masse et comment faire? j'aimerais utiliser le dispatcher pour appeler la fonction de mon plugin $dispatcher->trigger('indexFile', product);
Merci
Please Log in or Create an account to join the conversation.
Il n'y a pas de mécanisme dans le système d'action de masse qui permette d'appeler onAfterProductUpdate sur les produits existants.
Le plus simple, c'est d'éditer une vue via Display>Views (par exemple product / listing.php pour le backend) et de rajouter ce code au début:
Please Log in or Create an account to join the conversation.
MErci
Please Log in or Create an account to join the conversation.
comment on peut récupérer le même objet que l'on obtient dans le &$element dans la méthode onAfterProductUpdate dans une vue, car je n'ai pas la propriété files que j'utilise pour l'indexation des pdf, quand j'utilise $productClass->getProduct($id). j'ai un file_path mais ce n'est pas ce qu'il me faudrait.
merci encore pour l'aide
Please Log in or Create an account to join the conversation.
Au lieu de :
Vous aurez plus de données du produit dans $p, avec moins de requêtes que si vous utilisez getProduct dans le foreach.
getProducts, c'est la fonction de que utilisons pour l'export des données des produits don c'est plutôt complet.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.