Vox Populi(x) forum

Alexandria Book Library => Supporto (Support) => Topic started by: sonofabio on 03 October 2011, 17:41:26

Title: (RISOLTO) Errore php su modulo ricerca
Post by: sonofabio on 03 October 2011, 17:41:26
Ciao a tutti. Ho installato questo bellissimo e utilissimo componente per la gestione dei libri, su di un sito che stò realizzando. Perfetta l'installazione, perfetta la configurazione e la personalizzazione delle schede. Ma.... sono incappato in degli errori. Praticamente facendo ricerca dal campo ricerca appunto, mi rilascia i seguneti errori, penso errori php:
Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /home/xxx/xxx/public/xxx/components/com_abook/views/search/view.html.php on line 82

Warning: Invalid argument supplied for foreach() in /home/xxx/xxx/public/xxxx/libraries/joomla/html/html/select.php on line 68

Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /home/xxx/xxx/public/xxx/components/com_abook/views/search/view.html.php on line 86

Warning: Invalid argument supplied for foreach() in /home/xxx/xxx/public/xxx/libraries/joomla/html/html/select.php on line 68

Sicuramente sarà qualche settaggio che ho sbagliato o che ho scordato.
Se qualcuno mi può aiutare gli sarei molto grato.
Title: Re: Errore php su modulo ricerca
Post by: sonofabio on 03 October 2011, 18:10:56
Aggiorno la cosa.
L'errore viene fuori solo se disabilito i campi "Mostra Bilblioteca" e "Mostra luogo" dal campo "Search parameters" delle preferenze.
Abilitando le due cose funziona tutto regolare.
Però appunto mi servirebbe disabilitare quei due campi. E' possibile senza incappare in errori???
???
Title: Re: Errore php su modulo ricerca
Post by: federica on 04 October 2011, 09:29:59
Ciao,
grazie per aver segnalato questo errore, credo sia relativo alla versione di php che stai usando perchè a me non si verifica alcun errore. Comunque effettivamente  manca un controllo sulle variabili dei parametri che disabilitano "Mostra Bilblioteca" e "Mostra luogo".
Per correggere l'errore dovrebbe bastare fare queste modifiche:
apri il file
/home/xxx/xxx/public/xxx/components/com_abook/views/search/view.html.php
spostati vicino alla riga 82 e sostituisci questo:
$toplocation[]    = JHTML::_('select.option', NULL , JText::_('SELECT A LOCATION'), 'id', 'location');
$locationslist=array_merge($toplocation, $locationslist);
$lists['location'] = JHTML::_('select.genericlist', $locationslist, 'location', 'class="inputbox" size="1"','id', 'location', isset($searchkey['location'])?$searchkey['location']:"");

con questo
if ($params->get('show_search_loc', 1)) {
                        $toplocation[]    = JHTML::_('select.option', NULL , JText::_('SELECT A LOCATION'), 'id', location');
                        $locationslist=array_merge($toplocation, $locationslist);
                        $lists['location'] = JHTML::_('select.genericlist', $locationslist, 'location', 'class="inputbox" size="1"','id', 'location', isset($searchkey['location'])?$searchkey['location']:"");
}

poi spostati vicino alla riga 86 e sostituisci questo:
$toplibraries[]    = JHTML::_('select.option', NULL, JText::_('SELECT A LIBRARY'), 'id', 'name');
$librarieslist=array_merge($toplibraries, $librarieslist);
$lists['library'] = JHTML::_('select.genericlist', $librarieslist, 'library', 'class="inputbox" size="1"','id', 'name', isset($searchkey['library'])?$searchkey['library']:"");

con questo:
if ($params->get('show_search_lib', 1)) {
                        $toplibraries[]    = JHTML::_('select.option', NULL, JText::_('SELECT A LIBRARY'), 'id', 'name');
                        $librarieslist=array_merge($toplibraries, $librarieslist);
                        $lists['library'] = JHTML::_('select.genericlist', $librarieslist, 'library', 'class="inputbox" size="1"','id', 'name', isset($searchkey['library'])?$searchkey['library']:"");
                }

Attenzione, dopo aver fatto la prima modifica il numero di riga per la seconda modifca cambierà perchè avrai aggiunto due righe.

Fammi sapere se con questa modifica funziona, farò uscire una nuova versione di abook con la correzione. Mi dovresti anche dire quale versione di php stai usando.
Title: Re: Errore php su modulo ricerca
Post by: sonofabio on 04 October 2011, 19:34:37
Ciao Federica,
intanto ti indico che la versione del PHP è la 5.2.17

Ho fatto la modifica che mi hai indicato, ma mi da il seguente errore:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/xxx/xxx/public/xxx/components/com_abook/views/search/view.html.php on line 84

Cosa mi consigli?
Title: Re: Errore php su modulo ricerca
Post by: federica on 05 October 2011, 10:41:28
Secondo me c'è solo qualche errore di copia e incolla.
Metto il file in allegato, devi solo rinominarlo come view.html.php e sostituirlo con questo file /home/xxx/xxx/public/xxx/components/com_abook/views/search/view.html.php
Title: Re: (RISOLTO) Errore php su modulo ricerca
Post by: sonofabio on 05 October 2011, 11:44:09
Ho messo il file che mi hai allegato, con questo funziona.
Per curiosità sono andato a controllare dove avevo sbagliato a incollare il codice che mi avevi postato, ma ho visto, comparando i due files, che ci sono diverse cose modificate, non solo quelle righe.
Comenque ora và alla grande.

Grazie
ciao ciao
Title: Re: (RISOLTO) Errore php su modulo ricerca
Post by: federica on 05 October 2011, 13:18:39
Ciao,
il file che ti ho dato contiene la modifica anche per tutti gli altri campi di ricerca opzionali (categoria, anno, autore, ecc...). Visto che la tua segnalazione per i campi "luogo" e "biblioteca" valeva anche per gli altri, ho fatto che darti il file definitivo. Le correzioni che ti avevo mandato erano solo per i campi "luogo" e "biblioteca".
Comunque credo tu abbia solo dimenticato qualche parentesi, niente di grave.

Ti ringrazio ancora per la segnalazione, se il componente ti piace, scrivi una recensione su joomla.org, mi farebbe molto piacere.