Forum->Flatnux->Inserimento notizie da fonti rss
  
Benvenuto Sconosciuto Registrati Aiuto383 Utenti

Utente Messaggio


maroso

0 Livello 0 10

levellevellevellevellevellevellevellevellevellevel
profile  home
Venerdì 19 Novembre 2010 - 13:15

Inserimento notizie da fonti rss:
Esiste qualcosa di fatto in FN per aggregare news di tipo RSS provenienti da altre fonti?

Mi ricordo che in PHPNuke vi era proprio un modulo RSS che gestiva questo tipo di funzione, ma non ho idea se FN lo implementi o se occorre fare altro.

Qualcuno mi sa dare qualche dritta concreta che io possa mettere in opera?

Grazie in anticipo.

MM



johndorazio

0 Livello 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Venerdì 19 Novembre 2010 - 16:26

Re: Inserimento notizie da fonti rss:
Sì c'è la funzione "parse_RSS()" definita in "include/functions.php". Dovrai forse effettuare l'include di functions.php se la funzione non risulta disponibile (per sicurezza basta anche fare un "include_once").

A seconda del feed che prelievi potrebbe essere necessario personalizzare un poco questa funzione. Io l'ho fatto per esempio sul sito www.parrocchiasanlino.org, c'è un blocco "Notizie dalla Diocesi" dove prelievo un feed e ne faccio il parsing adattando un poco la funzione suddetta.

____________________________
"The whole of science is nothing more than a refinement of everyday thinking." (Albert Einstein)



johndorazio

0 Livello 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Venerdì 19 Novembre 2010 - 16:27

Re: Inserimento notizie da fonti rss:
Voglio dire, adattare la funzione ma in un altro luogo! Facendone una copia da adattare. Perché quella funzione così com'è in functions.php server per fare il parsing delle notizie di flatnux.

____________________________
"The whole of science is nothing more than a refinement of everyday thinking." (Albert Einstein)



maroso

0 Livello 0 10

levellevellevellevellevellevellevellevellevellevel
profile  home
Sabato 20 Novembre 2010 - 09:07

Re: Inserimento notizie da fonti rss:
Ciao John e grazie della risposta.

Se ho ben capito tu mi stai dicendo che la funziona parse RSS esiste nel file functions.php che normalmente è già included!

Se non lo fosse occorre dichiarare un include per function.php, ma dove ?

Supponiamo di avere una pagina chiamata notizie_web e voler includere dati provenienti da una fonte rss, cosa dovrei scrivere nel codice della pagina?

La pagina in questione deve essere php o html, e poi dovrei nel sorgente inserire lo statement include functions.php, e poi dichiarare un parse rss (sito della fonte.xml) ?

Scusa l'ignoranza, ma arrivo fino ad certo punto nella programmazione php, ancora devo avere ben chiaro il meccanismo di funzione del FN!

Possibile che non è stata prevista un'icona nel control center che posso far fare questo senza dover per forza toccare il codice?

Grazie mille.



johndorazio

0 Livello 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Martedì 23 Novembre 2010 - 00:01

Re: Inserimento notizie da fonti rss:
beh bisogna sempre ricordare che l'html è statico, non è un vero e proprio linguaggio di programmazione, è un linguaggio di markup, ossia un insieme di tags e elementi che il browser deve rendere. Quindi l'html è lato client. "HTML" significa hypertext markup language.
Il php invece è un linguaggio di programmazione lato server che ha la funzione di preparare dinamicamente i contenuti della pagina html prima di inviarli al browser del client.
"PHP" significa "hypertext pre-processor", quindi "processa" i contenuti della pagina già sul server prima di inviarli come hypertext al browser.

Perciò sì dovrai usare una pagina php.

Se ti basta usare la funzione di flatnux così com'è, allora nella tua pagina php puoi iniziare così:

<?php
require_once("include/functions.php");
$results = parse_RSS("http://url.del.feedrss");
echo $results;
?>


I tag xml che questa funzione estrae sono:
- <title> => sarebbe il titolo del feed
- <description> => sarebbe la descrizione del feed
- <item> => sarebbero tutti i singoli elementi del feed (per esempio notizie)
- <link> => sarebbe il link per ogni singolo elemento del feed (per esempio il link alla singola notizia)
- <title> => sarebbe il titolo di ogni singolo elemento del feed (per esempio il titolo della singola notizia)

L'html generato dallla funzione è più o meno così:

<strong>titolo del feed</strong><br />
<em>descrizione del feed</em>
<hr />
<div>
<b><big>·</big></b> <a style="font-size: 12px;" href="link per la singola notizia" target="new"> titolo della singola notizia</a><br />
</div>

Se vuoi invece presentare diversamente questi contenuti, o se ci sono altri tags nel feed che vuoi estrarre e presentare, dovrai modificare la funzione. Puoi copiarne il contenuto e incollarlo all'inizio della pagina al posto della riga

require_once("include/functions.php");


Anzi, bisogna tenere conto che se utilizzi un doctype ti tipo "strict", i tags <b>, <big>,<strong> ecc. sono "deprecated", non sono più validi, si dovrebbe utilizzare invece regole css che possono essere o inline (del tipo <span style="...">) oppure in un foglio css a parte che puoi mettere nella cartella "includes/css/" in modo che sarà incluso automaticamente da flatnux.

Poi si può anche tenere conto che mentre la funzione parse_RSS utilizza il "preg_match" per estrarre il contenuto dal feed (praticamente, per estrarre il titolo del feed, si cancella tutto quello che precede e tutto quello che segue il titolo lasciando solo il titolo, e così per ogni elemento del feed), esiste anche una funzione "get_xml_element" in flatnux che fa lo stesso lavoro in automatico. Così se devi estrarre altri elementi dal feed puoi anche utilizzare questa funzione al interno della funzione "parse_RSS".

Spero di aver spiegato bene per qualsiasi cosa cerco di chiarire ulteriormente...


____________________________
"The whole of science is nothing more than a refinement of everyday thinking." (Albert Einstein)

 [1] [2]