---
title: "Come forzare la tipologia di ricerca di Joomla a Qualsiasi Parola o Frase Esatta - Pixed"
description: "Quando si utilizza il modulo standard di ricerca di Joomla, la ricerca è fatta in automatico con la modalità \"tutte le parole\". Scopriamo come cambiarlo"
url: "https://www.pixed.it/pixed-blog/joomla/come-forzare-la-tipologia-di-ricerca-di-joomla-a-qualsiasi-parola-o-frase-esatta"
language: "it-it"
published: "2020-12-11T13:52:28Z"
modified: "2025-10-08T07:02:56Z"
---

# Come forzare la tipologia di ricerca di Joomla a Qualsiasi Parola o Frase Esatta

Ultimo aggiornamento: 08 Ottobre 2025

⏱ tempo di lettura

Quando si utilizza il modulo standard di ricerca di Joomla, la ricerca è fatta in automatico con la modalità "tutte le parole". È possibile automatizzare il tipo di ricerca con un semplice override.

## Come funziona la ricerca su Joomla?

Tutto il sistema di "ricerca" gira attorno ad un componente, uno o più plugin ed (eventualmente) un modulo:

- **Componente**: stiamo parlando del componente "com\_search" che si occupa della gestione e visualizzazione dei risultati;
- **Plugin**: si tratta di uno o più plugin di tipo "search" che contengono le istruzioni su cosa andare a cercare nel database per quanto riguarda i diversi componenti di Joomla. Nativamente esistono i plugin di tipo "search" per il "com\_content", ma se per esempio installiamo *Virtuemart* verrà installato un componente di tipo "search" anche per il componente ecommerce, che andrà a cercare all'interno dei singoli prodotti in vendita;
- **Modulo**: è possibile configurare un modulo con un *input* per le ricerche generiche. Non è obbligatorio, perchè è possibile richiamare il componente "com\_search" anche in altre modalità.

Quindi, in soldoni, come funziona la ricerca su Joomla?

1. Attraverso il modulo "cerca" inserisco una o più parole in un form;
2. Queste parole vengono inviate al componente "com\_search" che controlla tutti i plugin di tipo "search" attivati;
3. Ogni plugin "search" abilitato fa la ricerca sul database del componente al quale è collegato;
4. "com\_search" raccoglie i risultati che gli sono stati passati da ogni plugin "search" e restituisce la totalità di questi risultati all'utente.

E' modo molto furbo di gestire le ricerche, perchè permette di filtrare i risultati in base al contenuto (cercare per esempio solo in pagine statiche, o solo in prodotti in vendita di *Virtuemart*).

## Che tipologie di ricerca posso fare?

Joomla permette 3 tipologie di ricerca:

- **"tutte le parole"**: è il tipo di ricerca di default. Se si ricerca più di una parola il componente tornerà risultati dove sono presenti **tutte le parole cercate, in qualsiasi ordine (anche non consecutive)**.
- **"qualsiasi parola"**: se si ricerca più di una parola il componente tornerà risultati dove è presente **almeno una delle parole cercate**.
- **"frase esatta"**: se si ricerca più di una parola il componente tornerà i risultati dove sono presenti **tutte le parole cercate, in quel specifico ordine**.

I tipi di ricerca sono quindi distinti e danno risultati diversi a seconda della tipologia selezionata. Il problema è che il modulo standard di Joomla non ti permette di scegliere la tipologia ti ricerca, ma utilizza sempre la prima ("tutte le parole") come default. Una volta arrivati alla pagina dei risultati è possibile cambiare la tipologia, ma questo sistema obbliga l'utente ad un passaggio in più.

## Come possiamo risolvere?

Ci sono molti modi per risolvere questo problema, agendo sul componente o sui plugin. Ma questi richiederebbero capacità di programmazione avanzate e ci sarebbe il rischio elevato di perdere le modifiche fatte al successivo aggiornamento del core.

La soluzione che vi propongo quindi va ad agire soltanto sul modulo: non è esaustiva (non risolve il problema nella sua interezza), ma è un trucchetto molto semplice che risolve immediatamente il problema senza andare a modificare file del core di Joomla.

**Cominciamo!**

La prima cosa da fare è creare un *override* del modulo di ricerca standard di Joomla.

Se non sai cos'è un *override* ti consiglio di leggere [questo articolo](https://www.joomla.it/blog/9009-creare-override-dei-layout-in-joomla-3-x.html) del sito joomla.org, è inglese ma è semplice e spiega bene cos'è un *override* e come crearlo.

Andiamo quindi nel pannello di controllo di Joomla e clicchiamo su

***Menu in alto -&gt; Estensioni -&gt; Template -&gt; Lista Template***

Clicchiamo sul nome del template di default che utilizziamo nel nostro sito. Per esempio "protostar".

![nome del template](https://www.pixed.it/images/blog/ricercajoomla/nome_del_template.JPG)

*NB: se utilizzate un altro template cliccate sul titolo di quel template!*

Clicchiamo a questo punto sulla linguetta: **"crea override"**.

![override mod search](https://www.pixed.it/images/blog/ricercajoomla/override_mod_search.JPG)

Troveremo una lista dei moduli e componenti installati. Clicchiamo su **"mod\_search"**.

Se tutto è andato a buon fine ci apparirà un messaggio su sfondo verde con scritto:

#### `Messaggio`

`Override creato in /templates/protostar/html/mod_search`

`Override creato.`

Dal menu a sinistra clicchiamo ora su **"html -&gt; mod\_search -&gt; default**".

Sulla destra apparirà il contenuto del file, che è sostanzialmente **codice PHP**.

Andiamo in fondo al file, dove troviamo queste righe:

```
<input type="hidden" name="task" value="search" />
```<br></br>```
<input type="hidden" name="option" value="com_search" />
```<br></br>```
<input type="hidden" name="Itemid" value="<?php echo $mitemid; ?>" />
```

Queste poche righe sono parametri nascosti che vengono inviati assieme all'input del form per poter gestire la ricerca.

Tutto quello che dobbiamo fare è **aggiungere, subito dopo, questa riga di codice**:

```
<input type="hidden" name="searchphrase" value="any" />
```

**Che cosa significa?**

Stiamo indicando al componente "com\_search" che riceverà l'input da ricercare che noi vogliamo utilizzare "any" (ossia "qualsiasi parola") come tipologia di ricerca.

Abbiamo la possibilità di mettere tutte e tre le tipologie di ricerca all'interno della proprietà "*value*":

1. **all** : significa "cerca tutte le parole", possiamo ometterlo perchè è il tipo di ricerca standard
2. **any**: cerca almeno una delle parole
3. **exact**: cerca la frase esatta

## Conclusioni

Non è una soluzione completa: non ci permette di scegliere il tipo di ricerca da frontend e si limita alle ricerche fatte con il modulo ma è un ottimo sistema per raggiungere l'obiettivo, e soprattutto è sicuro perchè è una modifica solo a livello di override, che non va a toccare alcun file del core di Joomla.
Se avete altre idee su come personalizzare la ricerca scrivetelo nei commenti!

---

ti è piaciuto questo articolo? Condividilo!

dal blog

potrebbero interessarti:

[Tutti gli articoli](https://www.pixed.it/pixed-blog)

[![Perché gli utilizzatori di WordPress non migrano su Joomla?](https://www.pixed.it/media/yootheme/cache/d1/attivare-smooth-scroll-sito-web-d122399a.jpg)

### Perché gli utilizzatori di WordPress non migrano su Joomla?

18 Gennaio 2026

](https://www.pixed.it/pixed-blog/joomla/perche-gli-utilizzatori-di-wordpress-non-migrano-su-joomla)

[![Come funziona la cache di Joomla?](https://www.pixed.it/media/yootheme/cache/5f/joomla-cache-5fd083f6.jpg)

### Come funziona la cache di Joomla?

11 Dicembre 2024

](https://www.pixed.it/pixed-blog/joomla/come-funziona-la-cache-di-joomla)

[![Joomla e Open Graph: Configurare i Meta Tag Senza Estensioni](https://www.pixed.it/media/yootheme/cache/69/DALL.E%202024-11-25%2011.24.18%20-%20A%20LEGO-style%20minifigure%20character%20with%20a%20smiling%20face%20sitting%20at%20a%20desk%20and%20looking%20excitedly%20at%20a%20laptop%20screen.%20The%20background%20features%20colorful%20so-69649f4d.jpg)

### Joomla e Open Graph: Configurare i Meta Tag Senza Estensioni

25 Novembre 2024

](https://www.pixed.it/pixed-blog/joomla/joomla-e-open-graph-configurare-i-meta-tag-per-la-seo-senza-estensioni-esterne)
