From luca a accomazzi.it Mon Aug 11 10:39:04 2008 From: luca a accomazzi.it (Luca Accomazzi) Date: Mon, 11 Aug 2008 10:39:04 +0200 Subject: [Sar-at_designer] Sar-At 8, viste avanzate e SEO Message-ID: <325FE110-835A-4960-9EA3-4650F591740B@accomazzi.it> Una cliente che sta usando Sar-At 8 per costruirsi da sé il proprio sito mi fa una domanda interessante, e mi pare giusto riproporre la risposta anche qui, potrebbe servire a molti. Notate che la prima parte della risposta richiede Sar-At 8, mentre la seconda (gli Alias) funzionerà anche sotto la versione 7.5. L.A. [La cliente ha un commercio elettronico. Vende rapporti, cioè documenti elettronici, che sono memorizzati nella sezione reports. Ogni report appartiene a un gruppo, un argomento specifico. Questa informazione è registrata nel campo "navigation" della tabella rapporti. > mi sono inventata un accrocchio di campi per dirgli di visualizzarmi > ?Customers who bought this item also bought?? e gli ho detto di > andare nell?elenco dei rapporti con la stessa ?navigation? (la > subcategoria prodotto). Se capisco bene, tutti i report hanno una categoria, che tu registri in navigation. Capisco bene? Allora... Se tu stai guardando un report di categoria "x" e vuoi trovare tutti gli altri report della medesima categoria "x" scriverai SELECT * FROM reports WHERE navigation=@navigation @navigation è il modo che sar-at usa per dire "la navigation del record corrente". Puoi usare anche @id (lo id del rapporto corrente), @language (la lingue della pagina corrente nei siti multilingua), eccetera. La vista che ti ho proposto poco fa mostra TUTTI i rapporti di categoria "x", anche quello corrente. Non è bellissimo che nella pagina "i mobili in italia" ci sia un link alla pagina stessa, quindi ti converrà escluderla. SELECT * FROM reports WHERE navigation=@navigation AND id<>@id > E? possibile fare una vista che riconosca la navigation visualizzata > e mi elenchi gli ultimi 5 della stessa navigation per data? Facile! SELECT * FROM reports WHERE navigation=@navigation AND id<>@id ORDER BY lastMod DESC LIMIT 5 > Ti anticipo inoltre la questione SEO > Ho messo in sarat per google la sezione più importante (reports). Ottimo > poiché a google piace tanto il nome in html della pagina cercata, > come possiamo fare? Possiamo usare la funzionalità Alias di Sar-At. Funziona così. Quando stai guardando la pagina showPage.php?template=reports&id= 2776 in Sar-At, che corrisponde al rapporto "The European Market for outdoor furniture", tu usa la barra degli strumenti in basso per dargli un nome piacevole per Google, per esempio outdoor_furniture_europe.html Da questo momento, Sar-At saprà mostrare quella medesima pagina come /reports/outdoor_furniture_europe.html. Puoi vedere un elenco di tutti gli Alias definiti sul tuo sito guardando nel menu Sito la terza voce, Alias. Siccome tu hai salvato il nome "outdoor_furniture_europe.html" dentro al campo "csil_html", nella pagina mastro avremo {BEGIN Customers_who_bought_this}