Joomla.it Forum

Non solo Joomla... => Sviluppo => Topic aperto da: simoegio - 15 Dic 2006, 13:07:47

Titolo: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 15 Dic 2006, 13:07:47
Ciao,
vorrei poter dare la possibilit all'utente di scegliere, quando si presenta un link a Tabella Conenuto Categoria, il filtro con cui poter applicare la ricerca. Adesso possibile sceglierlo quando si crea il collegamento e poi viene applicato sempre quello.

Vorrei mettere una form che dia la possibilit di scegliere Autore, Titolo, Data direttamente all'utente, una volta scelto il filtro sar applicato su quel parametro...

allora aprendo il file content.html.php ho visto che nella text del filtro, quando qlkuno scrive qlkosa, e quindi sull'onChange, viene inviato il submit tramite il "document.adminForm.submit()"...
ma cos sto document.adminForm?????

Io pensavo di inserire una form con un men a tendina e fargli leggere direttamente da l il parametro con cui applicare il filtro al posto di andarlo a leggere nel database, ho trovato dove salvato questo dato ma non trovo la query che fa x leggerlo.. dovrebbe essere definita nella document.adminForm che appunto non so dove andare a leggere...

idee????
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 13:29:42
allora aprendo il file content.html.php ho visto che nella text del filtro, quando qlkuno scrive qlkosa, e quindi sull'onChange, viene inviato il submit tramite il "document.adminForm.submit()"...
ma cos sto document.adminForm?????

E' la chiamata di un metodo Javascript, come conseguenza dell'innesco dell'evento onChange. In particolare viene invocato il submit del form.
Per risolvere il tuo problema ti conviene realizzare un tuo componente di ricerca che visualizza un form personalizzato e poi effettua la ricerca e mostra i risultati.
Per fare prima, puoi partire dal componente di Joomla e poi ampliarlo.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 15 Dic 2006, 14:28:18
si ho capito che la chiamata al metodo javascritp.. non avevo letto che il form si chiamasse adminForm e pensavo fosse qlkosa d strano...
ma a sto punto se creo un form fittizzio e quando cambia quello faccio cambiare il form quello gi presente dei filtri, in modo tale che quando viene fatto il submit il parametro risulta cambiato in base a quello che ha selezionato l'utente..
ma cmq tu dici di partire dal componente search?? ma se partissi da quello di joomla la ricera avverrebe in tutti i testi e gli articoli.. io voglio solo che mi legga o i titoli o gli autori..

x nn so, dimmi cosa ne pensi te :D
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 14:36:17
ma cmq tu dici di partire dal componente search?? ma se partissi da quello di joomla la ricera avverrebe in tutti i testi e gli articoli.. io voglio solo che mi legga o i titoli o gli autori..

Beh, modifica le query come pare a te. ;)
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 15 Dic 2006, 14:54:04
nn che mi faccia piacere modificarla x x fare quello che mi serve...

cmq quello che pensavo prima nn si pu fare..

devo capire dove viene fatta la query...

qlke idea??
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 15:20:49
Intanto partirei dal componente di ricerca, ossia com_search, che sta dentro /components/com_search.
Ci sono solo 2 file PHP da modificare.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 15:28:16
Nel file search.html.php c' il metodo searchbox() in cui viene definito il form HTML.
Inizia con il modificare quello.

Fai un backup dei file prima!!!
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 15 Dic 2006, 15:34:13
mmm cm' che nn lo trovo il searchbox() ???

intendi searchword??? ok qua ci posso sostituire


Codice: [Seleziona]
<SELECT name="sceltaFiltro" onChange="funzScelta(this.selectedIndex )" >
<option value="2" selected>Autore</option>
<option value="1">Titolo</option>
<option value="0">Data</option>
</SELECT>

cmq ho trovato dove fa la query nel content.php ... era anche molto evidente ma la prima volta che metto le mani cos in joomla.. :-* :-[
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 15:37:14
mmm cm' che nn lo trovo il searchbox() ???

File search.html.php, linea 34, metodo searchbox().
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 15 Dic 2006, 15:41:03
anche dreamweaver mi fa gli scherzi ora..
cmq gi nell'altro componente non capivo come faceva con delle function a stampare a video..
insomma nella function (che php vero?) c' il codice html x se nessuno richiama quella funzione com' che viene stampato??
dall'altro file??
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 15:45:46
insomma nella function (che php vero?) c' il codice html x se nessuno richiama quella funzione com' che viene stampato?? dall'altro file??

Ma tu sai programmare? :-[
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 15 Dic 2006, 15:48:09
io sono uscito da scuola a giugno come perito informatico..
cio ho visto le basi di php xk nn ho mai creato una classe in php..
:S
volevo solo capire un minimo visto che c devo lavorare sopra
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 15:53:49
Perfetto, sai programmare.
Possiamo procedere! 8)
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 15 Dic 2006, 15:56:32
allora io ho sostituito

Codice: [Seleziona]
<input type="text" name="searchword" id="search_searchword"
size="30" maxlength="20" value="<?php echo stripslashes($searchword);?>"
class="inputbox" />

con

Codice: [Seleziona]
<SELECT name="sceltaFiltro" onChange="funzScelta(this.selectedIndex )" >
<option value="2" selected>Autore</option>
<option value="1">Titolo</option>
<option value="0">Data</option>
</SELECT>
      

x gi nn capisco xk si vede la solita text area..
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 16:00:41
Perch hai tolto la casella di testo?
Dove lo scrivi quello che vuoi cercare?
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 15 Dic 2006, 16:02:48
no t spiego.. prima  ho messo prima del text la mia solo che nn mi si vedeva ancora.. allora ho detto voglio vedere se la tolgo del tutto si vede.. e appunto si vede..
ho un problema di file temporanei??
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 16:09:33
Disabilita temporaneamente la cache di Joomla.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 15 Dic 2006, 16:12:18
il problema nasce dal fatto che il search.html.php non quello che genera il codice..

se invece vado in mod_search.php li si che mi si vede.. su quale dei due devo lavorare?
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 16:14:01
se invece vado in mod_search.php li si che mi si vede.. su quale dei due devo lavorare?

Io non ho mai parlato di modulo, ma di componente.
Tu cosa vuoi modificare?
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 15 Dic 2006, 16:16:01
infatti sono andato io a pescarlo.. xk non capivo xk mi si vedeva la select..
cmq da come parli dobbiamo lavorare sul serarch.html.php..
allora ho messo il codice x la creazione della select prima di quello della text. x nn si vede, ma da quanto ho capito giusto.
ora??
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 16:21:13
Ora devi capire perch non si vede.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 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
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 16:27:27
Modulo?
Ma cosa vuoi modificare, il modulo o il componente?
Deciditi!
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 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
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 16:31:17
Crea una nuova voce di menu di tipo Componente e la associ a Cerca.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 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
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 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).
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 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..
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 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();
}
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 16:50:03
Il metodo si chiama mosLogSearch...
Credi che serva a recuperare le notizie?
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 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.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 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?
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 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.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 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'???
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 20:13:40
Sei sulla strada giusta, ma la tua query mi sembra un p approssimativa.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 15 Dic 2006, 20:35:37
Non ho capito se sbaglio lintestazione 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??
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 21:15:03
Cos va meglio, ma manca il campo text.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 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
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 21:38:45
Pi o meno corretta.
Provala e vedi che succede.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 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
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 22:11:43
Non importa che significa misc.
L'importante che ci sia il campo text che rappresenta il pezzo di testo visualizzato nei risultati della ricerca.

Asp... Joomla 1.0.7???

E poi non vedo nella query la gestione che vuoi fare tu.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 15 Dic 2006, 22:28:18
si la 1.0.7

in ogni caso dovrei mettere

AND C.'%$sceltaFiltro' LIKE '%$searchword' OR misc LIKE '%$searchword'

cos legge dalla select (sceltaFiltro) su quale categoria applicare la ricerca, e poi con i like cerco se la parola inserita (searchword) dentro al campo preso in considerazione..

o sbaglio qlkosa?????
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 15 Dic 2006, 22:35:54
Dunque...
$sceltafiltro vale 0, 1 o 2 per come lo hai definito tu. Devi solo verificare il valore:
Codice: [Seleziona]
<?php
switch($sceltafiltro){
    case 
0:
        
// devi preparare la clausola per la data (created)
        
break;
    case 
1:
        
// devi preparare la clausola per il titolo (title)
        
break;
    case 
2:
        
// devi preparare la clausola per l'autore (created_by)
        
break;
    default:
}
?>

misc puoi eliminarlo, faceva parte dell'esempio specifico che hai preso.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 15 Dic 2006, 23:07:16
si scusa, io avevo in mente di mettere al posto di 0,1,2 direttamente created_by ecc ecc ma mi ricordavo male infatti non si pu fare..


mi sa che non sono definiti bene le variabili..

da cos

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

a cos

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

anche xk ho messo il controllo


Codice: [Seleziona]
$filtro=0;

switch($sceltafiltro){   //riga 173
    case 0:
        $filtro = 'created';
        break;
    case 1:
                $filtro = 'title';
        break;
    case 2:
            $filtro = 'created_by';
        break;
    default:
}


prima della query x escono questi errori



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

Notice: Undefined variable: pageNav in g:\programmi\easyphp1-8\www\joomla_107_stabile_ita\components\com_search\search.php on line 252
 
Fatal error: Call to a member function on a non-object in g:\programmi\easyphp1-8\www\joomla_107_stabile_ita\components\com_search\search.html.php on line 227
 

direi che x oggi mi ha abbastanza stufato...
ciao... c sentiamo domani mi sa   :-* :P

Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 17 Dic 2006, 13:18:01
napo..
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 17 Dic 2006, 13:56:58
Notice: Undefined variable: sceltafiltro in g:\programmi\easyphp1-8\www\joomla_107_stabile_ita\components\com_search\search.php on line 173

Occhio al case sensitive: sceltafiltro e sceltaFiltro sono diversi!

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

Questo potrebbe anche essere un piccolo bug del componente.
 
Citazione
Fatal error: Call to a member function on a non-object in g:\programmi\easyphp1-8\www\joomla_107_stabile_ita\components\com_search\search.html.php on line 227

Questo potrebbe essere dovuto al fatto che il risultato della query null ma il codice cerca di utilizzare l'oggetto lo stesso.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: surfbit - 17 Dic 2006, 13:57:56
napo..
???
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 17 Dic 2006, 13:58:50
Credo sia un messaggio di up camuffato... ;D
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: surfbit - 17 Dic 2006, 14:02:12
mmm..  :D meglio chiarire subito che i messaggio di up camuffati in napo.. saranno trattatti come tutti gli altri   ;)
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 17 Dic 2006, 14:07:27
infatti nn era un up, era + un SOS  :-[ :-[

xk gli up come vengono trattati??
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 17 Dic 2006, 14:18:12
cmq sia..

naturalmente corretto lo switch quell'errore scomparso..
il primo, che dicevi poteva essere un bug del componente, quello resta mentre l'altro, anche inserendo un testo che teoricamente non dovrebbe essere null l'errore resta cmq sia..

che posso fare??

ma cmq.. mi sbaglio o non possibile provare la query da mysql giusto?? anche se mi sembra ovvio che nn si possa x magari ..
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: surfbit - 17 Dic 2006, 14:21:27
infatti nn era un up, era + un SOS  :-[ :-[

xk gli up come vengono trattati??
Sei moderatore  ??? non lo sai? Una piccola letturina lo trovi  ;)
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 17 Dic 2006, 14:33:14
ma cmq.. mi sbaglio o non possibile provare la query da mysql giusto?? anche se mi sembra ovvio che nn si possa x magari ..

Certo che si pu, con phpmyadmin.
Ovviamente devi fornirgli tutti i parametri reali, non puoi lasciare le variabili PHP.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 17 Dic 2006, 14:45:43
sn un moderatore fuffa di fatti.. huahua
a parte gli scherzi.. mica ho trovato dove leggere..

cmq x sta query.. ovvio che si pu fare normalmente, ma il problema che io sono vincolato xk deve essere fatta x il compoente con i suoi parametri. Provare la query normalmente mi sembra inutile xk essendo abbastanza facile non che mi serva molto...
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 17 Dic 2006, 14:48:29
Provare la query normalmente mi sembra inutile xk essendo abbastanza facile non che mi serva molto...

Invece fondamentale lo stesso!
Potrebbero esserci problemi a cui non hai dato peso...
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 18 Dic 2006, 10:13:18
allora.. ho eseguito sta benedetta query, modificandola un pelo x farla andare da mysql.. cio cos

Codice: [Seleziona]
SELECT C.title AS title, '' AS created, S.title AS section
FROM jos_content AS C, jos_sections AS S
WHERE C.sectionid = S.id
AND C.title LIKE '%Benvenuto%'
ORDER BY name

che in teoria dovrebbe beccarmi l'articolo "Benvenuto in Joomla!" e infatti lo trova, x cmq sia provandola da joomla nn va, soliti errori :(
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 18 Dic 2006, 10:18:24
Mmm... sicuro che la notizia esiste ed abbia proprio quel titolo?
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 18 Dic 2006, 10:28:06
sisi

 title              created            section

Benvenuto in Joomla!    2004-06-12 11:54:06    Notizie


questo il risultato in myPHPAdmin...

esattamente l'ho provata con questa sintassi


Codice: [Seleziona]
query SQL:
SELECT C.title AS title, C.created, S.title AS section
FROM jos_content AS C, jos_sections AS S
WHERE C.sectionid = S.id
AND C.title LIKE '%Benvenuto%'
ORDER BY name
LIMIT 0 , 30
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 18 Dic 2006, 10:29:58
title              created            section

Benvenuto in Joomla!    2004-06-12 11:54:06    Notizie

questo il risultato in myPHPAdmin...

Ma allora la query funziona!
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 18 Dic 2006, 10:37:59
che in teoria dovrebbe beccarmi l'articolo "Benvenuto in Joomla!" e infatti lo trova, x cmq sia provandola da joomla nn va, soliti errori :(


come ho detto.. in myPHPAdmin va, mentre se vado dal sito di Joomla non funziona e ricompaiono i soliti errori..
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 18 Dic 2006, 11:00:25
Ok, ma la query di un mambot di ricerca deve avere i campi che ti ho gi scritto, obbligatoriamente.
La query che hai appena postato non li ha tutti.
Vedi pagina 133 del devbook.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 18 Dic 2006, 11:12:09
lo so, ma infatti ci che nn capivo..
allora io so che la query di un mambot deve avere certi campi. x non posso provare la suddetta query identica in myPHPAdmin, xk ha una struttura particolare. x quello che ho modificato nuovamente la query.. oppure ho capito male e posso fare girare la query del mambot anche in myPHPAdmin???? :-\
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 18 Dic 2006, 11:15:59
La query SQL sempre la stessa.
E' ovvio che con phpmyadmin non puoi scrivere cose del tipo:
Codice: [Seleziona]
WHERE title = '$titolo'ma dovrai sostituire $titolo con il suo valore effettivo.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 18 Dic 2006, 11:17:58
aaaaaa
quello lo avevo capito pure io ma mi facevo problemi per la dichiarazione iniziale, cose del tipo  "CONCAT('index.php?option=com_content&task=view&id=',C.id ) AS href, 2 AS browsernav"
ora provo allora   8) :-[
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 18 Dic 2006, 11:18:47
Beh, CONCAT una funzione di MySQL... 8)
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 18 Dic 2006, 11:23:31
si ok.. x nn sapevo bene il resto..anche qui ho molto da imparare   :-*

cmq la query non viene eseguita e da come errore

#1054 - Colonna sconosciuta 'misc' in 'field list'

mentre se tolgo la voce, in myPHPAdmin funziona benissimo x da joomla ovviamente compaiono milioni di errori per la questione che  era un parametro richiesto dal mambot
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 18 Dic 2006, 11:28:03
Ma te l'ho gi scritto, il campo misc non esiste nella query che TU devi eseguire.
La query deve restituire questi campi:
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 18 Dic 2006, 11:31:24
ah nn avevo capito..
cmq sia c' un errore.. xk senza misc di fatti va benissimo x in joomla, con il misc, non va e da i soliti errori
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 18 Dic 2006, 11:51:44
Lo dico per l'ultima volta...
misc il campo di una qualche tabella usata nell'esempio che hai copiato.
E' ovvio che se lo metti e non esiste in nessuna tabella da te usata, ti da errore.
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 18 Dic 2006, 14:23:45
Non importa che significa misc.
L'importante che ci sia il campo text che rappresenta il pezzo di testo visualizzato nei risultati della ricerca.

Asp... Joomla 1.0.7???

E poi non vedo nella query la gestione che vuoi fare tu.

ah.. avevo letto male questa frasa e avevo capito che ci doveva essere x forza.. x cui.. il campo text come parametro o come la variabile letta dalla text??? ma sarebbe improponibile fare un componente tutto mio e fare una benedetta semplice query??
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 18 Dic 2006, 15:06:42
conclusione.. se ometto sto benedetto parametro:

* quando cerco una parola che sicuramente c' (ES:"Benvenuto") mi esce come errore
Notice: Undefined property: href in c:\programmi\easyphp1-8\www\joomla_1011_stabile_ita\components\com_search\search.php on line 211

Notice: Undefined property: href in c:\programmi\easyphp1-8\www\joomla_1011_stabile_ita\components\com_search\search.php on line 212

x resta la schermata di joomla col menu ecc..

* quando cerco una parola che nn c' tornano i soliti errori
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 18 Dic 2006, 15:51:32
Mmm... ???
La query completa com'?

Citazione
ma sarebbe improponibile fare un componente tutto mio e fare una benedetta semplice query??

No, anzi forse sarebbe quasi meglio. :D
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: simoegio - 18 Dic 2006, 16:50:40
che bella questa risposta...   :-*

ho letto la tua guida.. interessante l'esempio mod_contenuti..

non ho capito se posso fare un modulo o x forza un componente..
xk col modulo sarebbe + facile x non saprei se possibile creare il codice html x creare la select..
xk nel componente, dato che c' sia il file php che html.php abb chiaro ma nel modulo....
ho guardato il modulo search di joomla. ma sbaglio o richiama il componente search??

finalmente vedo una strada percorribile senza andare alla cieca  8) :P
Titolo: Re: Rendere selezionabile il filtro da applicare
Inserito da: napo - 18 Dic 2006, 17:10:23
Pu capitare che i moduli si interfaccino con i componenti.