Fly06 Modules Search Plugin :: Fonctionnalités

Imprimer
Envoyer
Écrit par Fly06, Mercredi, 05 Mai 2010 Mis à jour ( Mercredi, 05 Mai 2010 09:37 )

Ce plugin est en tout point conforme aux plugins de type 'search' standards en terme de structure à l'exception notable des deux points suivants :

  1. Façon dont il construit les liens vers les pages du site
  2. Façon dont il récupère les contenu des modules

Mapping "Modules - Pages du site" : Contrairement aux contenus associés à des composants pour lesquels une page unique du site peut être construite, un même module peut être affiché dans plusieurs pages en fonction des items de menu pour lequel il doit être affiché (définis dans la configuration des modules).

La solution consiste donc à effectuer une requête croisée sur les trois tables suivantes :

  • jos_modules : Contenus dans lesquels effectuer la recherche (champs 'content')
  • jos_menus : Pages dans lesquelles ce contenu est affiché (champs 'id')
  • jos_module_menus : Mapping modules <=> menus

Pour chaque enregistrement retournés par la requête, l'url de la page (href) est simplement :

index.php?Itemid=<id_du_menu>

L'application du JRoute_() dans le template des résultats permet finalement de récupérer l'url brute ou sef correspondante.

Traitements différenciés par types de modules : Le fonctionnement du plugin consiste à partitionner les modules en trois catégories correspondant à trois façons différentes de récupérer leurs contenus :

  1. Modules de type 'Html Personnalisé' (mod_custom) : recherche dans les champs content des modules
  2. Modules différents de mod_custom dont le cache est activé : recherche dans le cache des modules
  3. Modules différents de mod_custom dont le caché est inactif : recherche dans les contenus récupérés par exécution des modules (hors contexte)

Les modules dont le contenu dépend du contexte d'exécution doivent être retiré du scope de recherche en utilisant les paramètres de scope du module (cf. Configuration). Le système de cache actuel Joomla! ne permet pas de gérer ces modules correctement. Une tentative d'intégration au cache a été tenté avec la version 1.5.11 mais a semble-t-il été retiré depuis.

Fly06 Poll Module

(3729 votes)

Quel est votre principal critère de décision dans vos choix d'extensions ?

61.3%
38.7%
Loading...