maidireJoomla.it

Esperienze nel mondo di Joomla e dei CMS

logo_maidirejoomla
Home I Templates Far funzionare il modulo di ricerca in template senza contenuti
Far funzionare il modulo di ricerca in template senza contenuti PDF Stampa E-mail
Giovedì 10 Marzo 2011 17:20

Supponiamo di voler realizzare un sito web con Joomla! 1.6 usando due template, uno per la sola home page e uno per tutte le altre pagine. Solo che nel template che verrà assegnato alla home non inseriremo contenuti, quindi non sarà presente l'istruzione  <jdoc:include type="component" /> che viene sostituita, in fase di costruzione della pagina da parte dell'iterprete php, con i contenuti o con un componente.

 

Se in questo template pubblicheremo il modulo di joomla mod_search (che effettua la ricerca nei contenuti) ci accorgeremo che tale modulo non funziona. Perchè? Perchè non ha dove visualizzare i risultati della ricerca.

Per risolvere questo piccolo problema, e solo nel caso specifico di un template che non includa i contenuti nella pagina, possiamo procedere come segue:

1. Accedere al backend del sito e dal Menu Manager creare un nuovo menu (es. menucerca)

2. Creare un nuovo modulo di tipo menu ed assegnargli il menu appena creato (Opzioni di base -> Seleziona menu). Lasciate questo modulo non pubblicato (sospeso) e usate una posizione modulo qualsiasi (tanto resterà sempre non pubblicato).

3. Aggiungere al menu creato in precedenza (menucerca) una voce di menu usando il tipo "Elenco risultati di ricerca"

4. Dopo aver salvato la voce di menu copiate il link che trovate nella casella di testo Link delle proprietà della voce di menu (es. index.php?option=com_search&view=search)

5. incollate questo link nel file /modules/mod_search/tmpl/default.php
alla riga 3 sostituite


<form action="index.php" method="post">

con


<form action="index.php?option=com_search&view=search" method="post">

Dal momento che non voglio farvi le cose facili vi consiglio di non modificare il file /modules/mod_search/tmpl/default.php direttamente ma di realizzare un override del modulo mod_search.
Questo perchè se in futuro dovessero esserci aggiornamenti del core di Joomla potreste perdere le modifiche fatte.

Nella cartella del template che dovrà essere assegnato alla solo home create una cartella html, dentro questa create la cartella mod_search e in quest'ultima cartella mettete una copia del file /modules/mod_search/tmpl/default.php. A questo punto modificate questo file e non quello del modulo originale.

Ricordate che per ogni cartella creata all'interno della cartella del template dovrete mettere un file index.html vuoto.

 

Pubblicità