Esempio Html

Questo codice HTML realizza un motore di ricerca che va a cercare il testo digitato nel titolo delle pagine della sezione prodotti.

  <form action="showPage.php" method='post'>
          Cerca:<input type='text' name='search' value="" size='12' />
          <input type='submit' value="Trova" />
          <input type='hidden' name='template' value='prodotti' />
          <input type='hidden' name='masterPage' value='foundResult.html' />
          <input type='hidden' name='comparison' value='contains' />
          <input type='hidden' name='searchFld1' value='title' />
          <input type='hidden' name='recordsReturned' value='10' />
          <input type='hidden' name='sortBy' value='4' />
          <input type='hidden' name='sortOrder' value='descending' />
  </FORM>

Questo codice HTML realizza un modulo di ricerca più complesso, dove l'utente può selezionare i parametri richiesti e generare una ricerca complessa:

  <form action="showPage.php" method='post'>
          <input type='hidden' name='template' value='prodotti' />
          <input type='hidden' name='masterPage' value='foundResult.html' />
   
          Cerca i prodotti in cui 
          <select name='searchFld1'>
                 <option selected value='title'>il nome</option>
                 <option value='description'>la scheda</option>
                 <option value='prezzo_lit'>il prezzo</option>
          </select>
          <select name='comparison'>
                 <option selected value='contains'>contiene</option>
                 <option value='equals'>&egrave; uguale a</option>
                 <option value='differs'>&egrave; diverso da</option>
                 <option value='gt'>&egrave; maggiore di</option>
                 <option value='gte'>&egrave; maggiore o uguale a</option>
                 <option value='lt'>&egrave; minore di</option>
                 <option value='lte'>&egrave; minore o uguale a</option>
          </select>
          <input type='text' name='search' value="" size='12' />
   
          <p>Mostra i risultati a gruppi di 
          <select name='recordsReturned'>
                 <option>5</option>
                 <option selected>10</option>
                 <option>25</option>
          </select>
          ordinandoli per 
          <select name='sortBy'>
                 <option selected value='title'>nome</option>
                 <option value='lastMod'>data di aggiornamento</option>
                 <option value='prezzo_lit'>prezzo</option>
          </select>
          in modo
          <select name='sortOrder'
                 <option selected value='ascending'>crescente</option>
                 <option value='descending'>decrescente</option>
          </select></p>
          <p><input type='submit' value="Trova" /></p>
  </form>

Questo è un esempio di un possibile modulo searchEngine.ihtml. Esso visualizza una tabella con i prodotti trovati. Il risultato della ricerca viene piazzato in una vista autodefinita, chiamata one_foundpage_block.

  <table border="1">
          <tr>
                 <th>
                         Nome prodotto
                 </th>
                 <th>
                         Breve descrizione
                 </th>
                 <th>
                         Prezzo
                 </th>
          </tr>
  {BEGIN one_foundpage_block}
          <tr><td align='left'><a href='showPage.php?template=prodotti&id={id}'>{title}</a></td>
          <td align='left'>{description}</td>
          <td align='left'>{prezzo_lit}</td>
          </tr>
  {END one_foundpage_block}
  </table>
   
  <table width='100%'>
  <tr><td>
  <a href="{searchengine_prev}">&lt;-Precedenti</a>
  </td><td>
  <a href="{searchengine_next}">Successivi -&gt;</a>
  </td></tr>
  </table>

Nell'esempio precedente, i link "precedenti" e "successivi" appaiono anche se non esiste pagina precedente o successiva di risultati della ricerca. I link generati dal plug-in in questo caso sono inattivi. Se questo è un problema dal punto di vista estetico è possibile usare codice HTML un poco più complicato, simile a questo:

  <script>
  if ({searchengine_useprev} == 1)
          document.write ("<a href='{searchengine_prev}'>&lt;-precedenti</a>");
  </script>
  <noscript>
          <a href="{searchengine_prev}">&lt;-precedenti</a>
  </noscript>

Ed ecco, infine, un esempio in cui la righe trovate vergono mostrate in colori alternati, grazie all'uso di {searchengine_row}.

Pagina mastro:

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it">
  <head>
          <meta http-equiv="content-type" content="text/html; charset=utf-8" />
          <title>Esempio</title>
          <style type="text/css">
                 td.odd { background-color: white; }
                 td.even { background-color: #E2E2E2; }
          </style>
  </head>
  <body>
          {search_engine}
  </body>
  </html>
   

File results_searchEngine.ihtml

          <table>
                 <tr>
                         <th>
                                Nome prodotto
                         </th>
                         <th>
                                Breve descrizione
                         </th>
                         <th>
                                Prezzo
                         </th>
                 </tr>
          {BEGIN one_foundpage_block}
                 <tr>
                         <td class="{searchengine_row}">
                                <a href="showPage.php?template=x&id={id}">{title}</a>
                         </td>
                         <td class="{searchengine_row}">{description}</td>
                         <td class="{searchengine_row}">{prezzo_lit}</td>
                 </tr>
          {END one_foundpage_block}
          </table>
  </body>

Ecco, infine, un esempio di ricerca su più sezioni contemporaneamente. Si noti che in un caso come questo Sar-At può effettuare ricerche solo all'interno di campi presenti in tutte le sezioni cercate.In altre parole, i campi incorporati Sar-At (title, keywords, description…) sono sempre ricercabili quando multiSectionsSearch è indicato. I campi definiti da voi sono ricercabili se presenti in tutte le sezioni scelte via multiSectionsSearch. Per esempio, se definite una sezione "articoli", una sezione "cronaca" e una sezione "approfondimenti" e se tutte queste sezioni contengono i campi "firma_articolista" e "testo", allora potete usare multiSectionsSearch.

  <form action="showPage.php" method='post'>
          <fieldset><legend><strong>Ricerca avanzatissima</strong></legend>
          <input type='hidden' name='template' value='faq' />
          <!-Per indicare in modo fisso le sezioni su cui ricercare, si usa:
  input type='hidden' name='multiSectionsSearch' value='articoli, faq, news, notizie'
          -->
          <input type='hidden' name='masterPage' value='risultati.html' />
          <input type="hidden" name="results" value="ihtml/results_searchEngine.ihtml" />
          <input type="hidden" name="noresults" value="ihtml/nothing_found.ihtml" />
   
          <!-Per lasciare che sia il visitatore a scegliere le sezioni: -->
          Seleziona le pagine che si trovano nelle sezioni
          <select name='multiSectionsSearch[]' multiple='yes'>
                 <option selected>articoli</option>
                 <option selected>faq</option>
                 <option selected>news</option>
                 <option selected>notizie</option>
          </select>
          <br />
          in cui
          <select name='searchFld[]' multiple='multiple'>     
                 <option selected value='keywords'>le parole chiave</option>
                 <option selected value='title'>i titoli</option>
                 <option value='description'>le descrizioni</option>
          </select>
          <select name='comparison'>      
                 <option selected value='contains'>contengono</option>
                 <option value='starts'>cominciano con</option>
                 <option value='ends'>finiscono con</option>
                 <option value='equals'>sono uguali a</option>
          </select>
          <input type='text' name='search' value="" size='25' />
          
          <p>Mostra i risultati a gruppi di 
          <select name='recordsReturned'>  
                 <option>5</option>
                 <option selected>10</option>
                 <option>15</option>
                 <option>20</option>
                 <option>25</option>
          </select>
          <br />
          ordinandoli per 
          <select name='sortBy'>   
                 <option selected value='title'>titolo</option>
                 <option value='lastMod'>data di aggiornamento</option>
                 <option value='creation'>data di creazione</option>
                 <option value='sarelTemplate'>sezione di appartenenza</option>
          </select>
          in modo
          <select name='sortOrder'
          
          <option selected value='ascending'>crescente</option>
          <option value='ascending'>decrescente</option>
          
          </select></p>
          <p><input type='submit' value="Trova" /></p>
          </fieldset>
  </form>