Back to top

Autore Topic: Rendere selezionabile il filtro da applicare  (Letto 23761 volte)

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #20 il: 15 Dic 2006, 16:21:13 »
Ora devi capire perchè non si vede.


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline simoegio

  • Appassionato
  • ***
  • Post: 306
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #21 il: 15 Dic 2006, 16:23:19 »
si ma io tocco il codice nel modulo, e metto ad esempio dopo la form "ciao" io vedo la mia text e poi scritto ciao.. x quello mi ero posto il problema di dove lavorare

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #22 il: 15 Dic 2006, 16:27:27 »
Modulo?
Ma cosa vuoi modificare, il modulo o il componente?
Deciditi!


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline simoegio

  • Appassionato
  • ***
  • Post: 306
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #23 il: 15 Dic 2006, 16:29:21 »
mi sa che sto facendo un pò d confusione..
il mio problema è che il COMPONENTE ricerca non lo trovo nel pannello di amministrazione e quindi non posso pubblicarlo..
e quindi andavo a vedere il modulo

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #24 il: 15 Dic 2006, 16:31:17 »
Crea una nuova voce di menu di tipo Componente e la associ a Cerca.


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline simoegio

  • Appassionato
  • ***
  • Post: 306
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #25 il: 15 Dic 2006, 16:33:21 »
okkei ci siamo..

scusa ma con joomla + che fare le cose base nn ho fatto.. è giusto in sti giorni che c sto guardando d +..

ora vedo il mio componente ricerca con la select che avevo creato

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #26 il: 15 Dic 2006, 16:38:39 »
Bene, ora viene il difficile.
Devi modificare il file search.php per piegarlo alle tue esigenze.

Dalla riga 71 alla riga 115 vengono recuperati i parametri del form. Aggiungi il recupero del valore della casella combinata.

Il difficile viene adesso, perchè la ricerca viene effettuata dai vari mambot di ricerca (riga 150-152).


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline simoegio

  • Appassionato
  • ***
  • Post: 306
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #27 il: 15 Dic 2006, 16:46:00 »
allora molto a muzzo creo


Codice: [Seleziona]
$sceltaFiltro = strval( mosGetParam( $_REQUEST, 'sceltaFiltro', '' ) );
$sceltaFiltro = $database->getEscaped( trim( $sceltaFiltro ) )

dove nel primo creo una variabile che legge il form ricevuto e il secondo nn ho ben capito cosa faccia..

ma il punto è che devo dire alla query di cercare o solo tra gli autori o solo tra i titoli o solo tra le date..

Offline simoegio

  • Appassionato
  • ***
  • Post: 306
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #28 il: 15 Dic 2006, 16:48:39 »
ma se modifico sta query qua??

Codice: [Seleziona]
function mosLogSearch( $search_term ) {
global $database;
global $mosConfig_enable_log_searches;

if ( @$mosConfig_enable_log_searches ) {
$query = "SELECT hits"
. "\n FROM #__core_log_searches"
. "\n WHERE LOWER( search_term ) = '$search_term'"
;
$database->setQuery( $query );
$hits = intval( $database->loadResult() );
if ( $hits ) {
$query = "UPDATE #__core_log_searches"
. "\n SET hits = ( hits + 1 )"
. "\n WHERE LOWER( search_term ) = '$search_term'"
;
$database->setQuery( $query );
$database->query();
} else {
$query = "INSERT INTO #__core_log_searches VALUES ( '$search_term', 1 )"
;
$database->setQuery( $query );
$database->query();
}

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #29 il: 15 Dic 2006, 16:50:03 »
Il metodo si chiama mosLogSearch...
Credi che serva a recuperare le notizie?


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #30 il: 15 Dic 2006, 16:51:50 »
ma il punto è che devo dire alla query di cercare o solo tra gli autori o solo tra i titoli o solo tra le date..

Certo.
E qui devi lavorare di fino, perchè il sistema di ricerca di Joomla prevedere solamente la singola stringa di ricerca. Ed è inutile mettersi a modificare tutto il framework.
Ti conviene creare una tua query e sostituirla alle righe 150-152.

Ovviamente dovrai restituire i campi così come se li aspetta Joomla; ma al momento non ricordo quali sono.


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline simoegio

  • Appassionato
  • ***
  • Post: 306
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #31 il: 15 Dic 2006, 18:19:29 »
allora

Codice: [Seleziona]
<?php
$_MAMBOTS
->loadBotGroup'search' );
$results $_MAMBOTS->trigger'onSearch', array( $searchword,
           
$phrase$ordering ) );
?>

richiama i suoi metodi x la ricerca ecc e li mette in results, giusto?
ma se io facessi stampare la $results mi vedo come li vuole lui così posso farmi un'idea su come fare la query, giusto?
« Ultima modifica: 15 Dic 2006, 18:23:02 da -napo- »

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #32 il: 15 Dic 2006, 18:28:08 »
In parole vengono vengono caricati tutti i mambot di ricerca ed innescati.
Ciascun mambot effettua la ricerca a seconda di come è stato programmato.
Alla fine ti trovi dentro $results tutti i risultati.

Ora, siccome non puoi modificare il meccanismo di ricerca del framework, devi farne uno tuo limitato alle sole notizie.
Pertanto al posto di quelle righe di codice dovrai fare la tua query che mette i risultati dentro $results:
Codice: [Seleziona]
<?php
$database
->setQuery("SELECT ... FROM ...");
$results $database->loadObjectList();
?>
Riguardo ai campi che DEVONO essere restituiti, ti rimando alla sezione sui mambot di ricerca del devbook.


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline simoegio

  • Appassionato
  • ***
  • Post: 306
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #33 il: 15 Dic 2006, 20:09:10 »
dunque.. la guida parla in riferimento al mamboot search di questa query

Codice: [Seleziona]
SELECT name AS title,".
"'' AS created, misc AS text, 'Contact' AS section,".
"CONCAT( 'index.php?option=com_content&task=view&id=',id ) AS href, 2 AS browsernav".
"FROM #__contact_details AS a".
"INNER JOIN #__categories AS b ON b.id=a.catid AND b.access <= '$my->gid'".
"LEFT JOIN #__sections AS u ON u.id = a.sectionid".
"WHERE name LIKE '%$text% OR misc LIKE '%$text%'".
"AND published = '1' ".
"ORDER BY name");
e poi dice che gli servono i parametri

-title
-created
-section     (mi è venuto un dubbio dopo.. ma l'id della sezione o il nome?? )
-href
-browsernav

x cui.. mooooooolto approssimativamente la query potrebbe essere una cosa simile


   
Codice: [Seleziona]
SELECT C.title, C.created, S.title, CONCAT('index.php?option=com_content&task=view&id=',C.id ),  2

FROM  jos_content C, jos_sections S

WHERE C.sectionid = S.id
AND C.title LIKE '%$text' OR misc LIKE '%$text'

dove appunto al posto del C.title, dopo l'AND, devo fargli leggere il  form, cioè quello che avevo chiamato $sceltaFiltro

mentre al posto di text, che dovrebbe essere quello che è stato dato come stringa, CREDO $searchword

grande capo, cm'è???
« Ultima modifica: 15 Dic 2006, 20:13:18 da simoegio »

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #34 il: 15 Dic 2006, 20:13:40 »
Sei sulla strada giusta, ma la tua query mi sembra un pò approssimativa.


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline simoegio

  • Appassionato
  • ***
  • Post: 306
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #35 il: 15 Dic 2006, 20:35:37 »
Non ho capito se sbaglio l’intestazione iniziale o proprio la query in sé..

Faccio un confronto

name AS title      -->   C.title     è GIUSTO
'' AS created      -->   C.created   PENSO SIA GIUSTO
'Contact' AS section   -->   S.title      SE SERVE IL TITOLO è GIUSTO

CONCAT( 'index.php?option=com_content&task=view&id=',id ) AS href  -->   BOH   
2 AS browsernav         -->     2      PENSO POSSA ANDARE


oppure sbaglio proprio le condizioni??

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #36 il: 15 Dic 2006, 21:15:03 »
Così va meglio, ma manca il campo text.


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline simoegio

  • Appassionato
  • ***
  • Post: 306
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #37 il: 15 Dic 2006, 21:28:22 »
io avevo fatto un confronto ma cmq ero sicuro di ciò che avevo messo nella prima versione.. cmq dato che ho intuito che debba essere fatta così  :-[ :-[ 

rifaccio.. ma cmq il campo text nn l'ho messo xkè nn ho capito cosa serve, anche xkè non è richiesto nei famosi parametri

Codice: [Seleziona]
SELECT C.title AS title,'' AS created, misc AS text, S.title AS section, CONCAT( 'index.php?option=com_content&task=view&id=',C.id ) AS href, 2 AS browsernav
FROM  jos_content AS C, jos_sections AS S
WHERE C.sectionid = S.id
AND C.title LIKE '%$text' OR misc LIKE '%$text'
ORDER BY name

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #38 il: 15 Dic 2006, 21:38:45 »
Più o meno è corretta.
Provala e vedi che succede.


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline simoegio

  • Appassionato
  • ***
  • Post: 306
    • Mostra profilo
Re: Rendere selezionabile il filtro da applicare
« Risposta #39 il: 15 Dic 2006, 21:57:16 »
puoi dirmi cosa seleziona "misc AS text"??

cmq alla fine ho fatto qlke correzione.. ovvero

Codice: [Seleziona]
$database->setQuery("SSELECT C.title AS title,'' AS created, misc AS text, S.title AS section, CONCAT( 'index.php?option=com_content&task=view&id=',C.id ) AS href, 2 AS browsernav
FROM  jos_content AS C, jos_sections AS S
WHERE C.sectionid = S.id
AND C.title LIKE '%$searchword' OR misc LIKE '%$searchword'
ORDER BY name");


e come risultato ho

Notice: Undefined variable: pageNav in g:\programmi\easyphp1-8\www\joomla_107_stabile_ita\components\com_search\search.php on line 221


dove c'è il codice

search_html::conclusion( $totalRows, $searchword_clean, $pageNav );


che però non ho ben capito a cosa serva e xkè ora nn va +... :-[ :P

 



Web Design Bolzano Kreatif