modulo allinone errore nella visualizzazione più votati

Started by Anto, 01 May 2012, 11:08:16

Previous topic - Next topic
A financial contribution is greatly appreciated as a support, to help us to keep live the project.
If you like this project you can donate some piece of BitCoin to this address: bc1qy5tgq6tvrckac2a57unxvqcnxamrvhduve9sj9

Anto

Nel modulo allinone ordinamento libri più votati, non mi visualizza i libri con più voti, ma i primi in ordine di inserimento, dal front end.
Dal back end, invece, nella tabella gestione libri, se clicco su ordina colonna per voto, me li ordina sempre in base alla data di inserimento, indipendentemente dal numero di voti ricevuti e mi compare in alto l'errore
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in .../libraries/joomla/database/database/mysql.php on line 344
Sempre nel back end, se vado nella schermata Alexandria book Library (pannello di controllo) e clicco nel menu a destra su i più votati, mi visualizza la situazione corretta con il numero di voti.
In quale impostazione sbaglio? Uso joomla 1.5.26.

E' possibile visualizzare nel modulo allinone dal front end i dati statistici presenti nel menu a destra di cui sopra, accanto ai libri, non solo per i più votati ma anche per i più visitati e per statistiche (totali libri inseriti, editori, ecc)?
Penso che per un utente, un visitatore del sito o webmaster sia importante saper anche quale libro è stato più votato o più visto per conoscere le preferenze dell'utenza.
Esiste nel modulo allinone la possibilità di visualizzare, invece, i libri più commentati?
Grazie.
Anto.

A financial contribution is greatly appreciated as a support, to help us to keep live the project.
If you like this project you can donate some piece of BitCoin to this address: bc1qy5tgq6tvrckac2a57unxvqcnxamrvhduve9sj9

federica

Ciao Anto,
la versione di Abook per joomla 1.5 non viene più sviluppata, mi sto concentrando sulla versione per joomla 2.5. Le cose che hai proposto tecnicamente si possono fare, ma sicuramente non le svilupperò nella versione vecchia.
Per quanto riguarda l'errore di ordinameto per voto ho fatto alcune prove sulla mia installazione senza riscontrare i problemi che ha segnalato. Visto che sei la prima persona che mi segnala questo genere di problemi mi viene da dire che forse c'è qualche problema legato alla tua installazione, ma la mia è solo una supposizione.
Posso provare ad aiutarti a risolvere il problema.
Prova ad eseguire questa query e vedere se vengono fuori degli errori:
SELECT a.*, cc.title AS category, ee.name AS editor, ee.id AS editorid, GROUP_CONCAT(bb.name ORDER BY bb.name ASC) AS author, l.location AS location, lb.name AS library, g.name AS groupname, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count FROM jos_abbook AS a LEFT JOIN jos_abcategories AS cc ON cc.id = a.catid LEFT JOIN jos_abeditor AS ee ON ee.id = a.ideditor LEFT JOIN jos_abbookauth AS aa ON aa.idbook = a.id LEFT JOIN jos_abauthor AS bb ON bb.id=aa.idauth LEFT JOIN jos_users AS u ON u.id = a.checked_out LEFT JOIN jos_ablocations AS l ON l.id = a.idlocation LEFT JOIN jos_ablibrary AS lb ON lb.id = a.idlibrary LEFT JOIN jos_groups AS g ON g.id = a.access LEFT JOIN jos_abrating AS v ON a.id = v.book_id GROUP BY a.id ORDER BY rating desc
Se il prefisso delle tabelle non è jos_ sostituiscilo con il tuo.
Esegui anche questa query e dammi i risultati:
SELECT a.*, cc.name AS catname, GROUP_CONCAT(bb.name ORDER BY bb.name ASC SEPARATOR ', ') AS author, ROUND( r.rating_sum / r.rating_count ) AS rating, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug, CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug FROM jos_abbook AS a INNER JOIN jos_abcategories AS cc ON cc.id = a.catid LEFT JOIN jos_abbookauth AS aa ON aa.idbook = a.id LEFT JOIN jos_abauthor AS bb ON bb.id=aa.idauth INNER JOIN jos_abrating AS r ON r.book_id = a.id WHERE a.access <= 0 AND cc.access <= 0 AND cc.published = 1 AND a.published = 1 GROUP BY a.id ORDER BY rating DESC
Diversamente non saprei come aiutarti.
Al mondo ci sono 10 tipi di persone, quelli che hanno capito il codice binario e quelli che non l'hanno capito.
Informatizzati [url="https://informatizzati.org"]https://informatizzati.org[/url]
Stacca la spina [url="https://disconnessi.org"]https://disconnessi.org[/url]

Anto

Ho provato ad inviare entrambe le query. Nessun errore. Ho selezionato come campo jos_abrating rating_sum e rating_count per il campo e ordine decrescente. Mi mostra i libri come nel front end, ordinandoli in base a rating,  non rating_sum o rating_count.
Ho esaminato la tabella jos_abrating e ho capito che a me interessa mostrare i libri che hanno ricevuto un n. maggiore di voti (rating_count), anzi meglio ancora il totale dei voti per libro (rating_sum), dato appunto dal prodotto n. voti x valore voto (da 1 a 5). Questo indice è più preciso e incisivo.

E' possibile mostrare l'ordinamento di uno dei due rating (sum o count)?
Quasi tutti i libri hanno ricevuto 5, ma il n. dei voti è molto diverso. Un libro che ha ricevuto 6 (rating_count) voti da 5 (valore) dovrebbe avere più peso (rating_sum) di uno che ha ricevuto solo 1 voto da 5. Invece nel front end non avviene. Hanno lo stesso peso!
Occorre modificare qualche file? Forse in helper.php del modulo allinone? Non ci capisco molto di query.
Grazie.
Anto

federica

Installa la versione nuova del modulo.
Poi apri il file helper.php e modifica la riga 72
$query->order ('rating DESC');
Al posto di "rating" metti "r.rating_sum" oppure "r.rating_count", come ti fa più comodo.
Al mondo ci sono 10 tipi di persone, quelli che hanno capito il codice binario e quelli che non l'hanno capito.
Informatizzati [url="https://informatizzati.org"]https://informatizzati.org[/url]
Stacca la spina [url="https://disconnessi.org"]https://disconnessi.org[/url]

A financial contribution is greatly appreciated as a support, to help us to keep live the project.
If you like this project you can donate some piece of BitCoin to this address: bc1qy5tgq6tvrckac2a57unxvqcnxamrvhduve9sj9

Anto

Ok. Risolto. Ho modificato il file helper.php della versione per la versione di joomla 1.5 e funziona. I dati del back end sono gli stessi del front-end. Perfetto.
E' possibile visualizzare il n. di voti o il n. di visite all'interno del modulo (accanto al titolo e all'immagine fra parentesi) senza entrare nella scheda del singolo libro?
Come funziona il tipo di ordinamento correlati nel modo allinone?
Grazie.
Anto.

federica

I correlati per metakey sono random mentre quelli per tags non hanno un ordinamento specifico.
Il modulo non prevede la visualizzazione del n. di voti o il n. di visite, ma se conosci un po' di programmazione php, puoi visualizzare e cambiare tutto quello che vuoi!
Al mondo ci sono 10 tipi di persone, quelli che hanno capito il codice binario e quelli che non l'hanno capito.
Informatizzati [url="https://informatizzati.org"]https://informatizzati.org[/url]
Stacca la spina [url="https://disconnessi.org"]https://disconnessi.org[/url]