Salve,
ultimamente sto modificando l'aggregator integrato su Drupal 5.6 in modo tale che nella pagina principale di "Aggregatore notizie" si ha la visualizzazione dell'ultima news per ogni feed.
Ad esempio ho 3 feed: tizio.net, caio.com, e sempronio.org. Devo fare visualizzare soltanto 3 news, che saranno rispettivamente le ultime di ogni feed per ordine di data.
Quindi ho modificato la funzione aggregator_page_last() di aggregator.module riscrivendo la query sql in questo modo:
function aggregator_page_last() {
drupal_add_feed(url('aggregator/rss'), variable_get('site_name', 'Drupal') . ' ' . t('aggregator'));
/**
* Old Query: SELECT i.*, f.title AS ftitle, f.link AS flink FROM {aggregator_item} i INNER JOIN {aggregator_feed} f ON i.fid = f.fid ORDER BY i.timestamp DESC, i.iid DESC
*/
return _aggregator_page_list
('SELECT i.*, f.title AS ftitle, f.link AS flink FROM ( SELECT * FROM aggregator_item ORDER BY timestamp DESC ) AS i INNER JOIN aggregator_feed AS f ON i.fid = f.fid GROUP BY i.fid', arg(1));
}user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 query: SELECT COUNT(*) FROM ( SELECT * FROM aggregator_item in /var/www/federico2/includes/database.mysql.inc on line 172.E' possibile perchè sto usando una subquery?! ho provato di tutto. Aspetto vostre notizie.
Achtung! Per fare ciò che vuoi non è necessario modificare moduli core. 
E come dovrei fare?
Semplicemente creare un php snippet per prendere dal database i 3 contenuti che ti servono.
__________________Mi spiegheresti meglio? Sono utente drupal da pochi giorni.
Sai che puoi usare PHP nei blocchi o nodi? Puoi creare un blocco nel formato PHP visibile solo nella pagina del agregator.
__________________L'inglese non lo mastico molto però. Tu stesso non potresti rispondermi?
Non vorrei sbagliare,ma le query annidate non funzionano su tutte le versioni di mysql ma solo a partire da una che non ti so definire.
__________________
Iscritto il: 04 Apr 08