Back to top

Autore Topic: Come inserire le immagini degli articoli in un feed rss??  (Letto 5218 volte)

Offline ikki_83

  • Esploratore
  • **
  • Post: 123
    • Mostra profilo
Salve a tutti!
Ho iniziato a collaborare con una società che mi ha richiesto che i contenuti delle notizie in joomla vengano esportati in un file xml in modo da interfacciarlo con una loro animazione flash (che odio il flash...) ma ho un problema: i feed rss di joomla non contengono alcun tag per le immagini presenti negli articoli (ne basterebbe una!) e onestamente sono un bel po' di ore che cerco di venirne a capo ma nulla... qualcuno sa come risolvere questo problema? ah, il tag delle immagine deve contenere un percorso relativo e non assoluto... Carneade please!!

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Come inserire le immagini degli articoli in un feed rss??
« Risposta #1 il: 01 Mar 2007, 09:45:17 »
Probabilmente il componente integrato in Joomla non gestisce proprio le immagini; dovresti provare con altri componenti.
Fai una ricerca, c'è un post in cui suggerivo l'uso di un componente per la gestione dei feed di cui non ricordo il nome.


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline ikki_83

  • Esploratore
  • **
  • Post: 123
    • Mostra profilo
Re: Come inserire le immagini degli articoli in un feed rss??
« Risposta #2 il: 01 Mar 2007, 11:04:32 »
Riporto la conversazione con napo, come da richiesta ;)

Si parlava del componente rd_rss.
Citazione
Il componente che ti ho suggerito non l'ho mai usato a dire il vero, ma so che è molto più elastico di quello predefinito di Joomla.
Credevo gestisse anche le immagini, ma da quanto mi dici deduco che non è così. Triste
Non saprei come modificarlo per inserire le immagini, però so che Joomla mette a disposizione una classe per la creazione dei feed: includes/feedcreator.class.php.
E' una classe molto completa che sicuramente è in grado di risolvere i tuoi problemi; però qui non si parla di modificare un pò di codice, ma di scrivere un nuovo componente che utilizzi tale classe.
Generare un feed non è difficile, c'è un esempio dentro il file PHP; tuttavia non so se sia agevole o meno inserire anche le immagini, soprattuto dal punto di vista "recupero delle informazioni relative all'immagine che devo visualizzare".
Prima di buttarmi a scrivere del codice, proverei a fare una ricerca per trovare un componente già pronto che possa risolvere il tuo problema.

Aggiungo io: la classe + completa e l'unica soluzione sarebbe quella di usare l'enclosure... qualcuno sa come fare?? l'enclosure deve prendere l'immagine dall'aticolo e pubblicarla in rss...

Offline ikki_83

  • Esploratore
  • **
  • Post: 123
    • Mostra profilo
Re: Come inserire le immagini degli articoli in un feed rss??
« Risposta #3 il: 01 Mar 2007, 12:39:26 »
Purtoppo non esiste nulla.... sto provando a modificare il codice così aggiungendo:

Citazione
   //immagine nel feed
      $item_image = $row->images;
      $item_image = mosimage;
      foreach ( $rows as $row ) {
         $item_image = trim( $item_image );
                        $item_image .= '...';
                     }

ma non va.. napo e tutti gli utenti avete qlk idea??  :( :( ???

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Come inserire le immagini degli articoli in un feed rss??
« Risposta #4 il: 01 Mar 2007, 16:10:18 »
Il codice che hai messo che roba sarebbe?
E' tutto sbagliato.


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline ikki_83

  • Esploratore
  • **
  • Post: 123
    • Mostra profilo
Re: Come inserire le immagini degli articoli in un feed rss??
« Risposta #5 il: 01 Mar 2007, 16:25:39 »
immaginavo... il problema è conosco poco il php. ho visto la struttura del database e ho visto anche che la tabella jos_content ha la row images in cui il primo valore registrato è il nome dell'immagine dell'articolo. come la estrapolo e la metto nel feed?

Offline ikki_83

  • Esploratore
  • **
  • Post: 123
    • Mostra profilo
Re: Come inserire le immagini degli articoli in un feed rss??
« Risposta #6 il: 01 Mar 2007, 16:37:40 »
Codice: [Seleziona]
//immagine nel feed
$item_image = $row->images;
list ($source, $align, $alttext, $border, $dida, $posdida, $aligndida, $weightdida) = split ('[|]', $item_images);

così va bene??

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Come inserire le immagini degli articoli in un feed rss??
« Risposta #7 il: 01 Mar 2007, 16:41:56 »
Sintatticamente è sicuramente corretto.
Ma $row->images cos'è?


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline ikki_83

  • Esploratore
  • **
  • Post: 123
    • Mostra profilo
Re: Come inserire le immagini degli articoli in un feed rss??
« Risposta #8 il: 01 Mar 2007, 16:51:38 »
ti allego il file come lo ho modificato. è il file rss.php di joomla, ho usato $row->images per dire allo script di andare a vedere nella row images della tabella jos_content, ma nulla... ho come la sensazione d aver sbagliato!

[allegato eliminato da un amministratore]

Offline ikki_83

  • Esploratore
  • **
  • Post: 123
    • Mostra profilo
Re: Come inserire le immagini degli articoli in un feed rss??
« Risposta #9 il: 05 Mar 2007, 15:32:29 »
Alla fine sto tentando di risolvere il problema con uno script ad hoc creato da me (il mio primo script creato da zero...).

Ho un problema: il server mi restituisce questo errore:

Citazione
Parse error: parse error, unexpected T_VARIABLE in /home/httpd/vhosts/eliofranco.it/subdomains/xbox/httpdocs/flashxml/interrogazione.php on line 19

Come mai? il listato è questo:

Codice: [Seleziona]
<?php

//Inclusione del connettore
require_once "connessione.php";

//Connessione al database 
$conn mysql_connect($dbhost,$dbuser,$dbpass
 or die(
"Impossibile collegarsi al server MySQL.");

//Selezione database 
mysql_select_db($dbname,$conn
 or die(
"Impossibile selezionare il database $dbname");

//Selezione contenuti
$titolo "SELECT title FROM jos_content";
$autore "SELECT author FROM jos_content;"

//Selezione intro pubblicati
$intro "SELECT introtext FROM jos_content WHERE state = '1' ORDER BY id DESC LIMIT 10";


//Selezione immagine
$immagine "SELECT images FROM jos_content";
             list (
$source$align$alttext$border$dida$posdida$aligndida$weightdida) = split ('[|]'$immagine);
$immagine "./images/stories/"$source;

//Selezione link
$id "SELECT id FROM jos_content";
$url "$HTTP_HOST/index.php?option=com_content&task=view&id=1&Itemid="$id;

//Creazione file

function MakeXML($titolo$autore$intro$immagine$url){
    
$item->title    $title;
    
$item->autore   $autore;
    
$item->intro    $intro;
    
$item->immagine $immagine;
    
$item->url      $url;

}

function 
Output($save false$path '')
$out '<?xml version="1.0"?>
' . "\n" .;

$out =  "<title>$item->title</title>\n" .
        "<autore>$item->autore</autore>\n" .
        "<intro>$item->intro</intro>\n" .
"<immagine>$item->immagine</immagine>\n" .
"<url>$item->url</url>\n" .;

$r->Output(true, './flashxml/cache/rss.xml');

// True output
    if( !$save or !$path ){
      header("Content-type: application/xml");
      echo $out;
      return true;
    }
    else{
      $fh = fopen($path, 'w');
      if( $fh ){
        fwrite($fh, $out);
        fclose($fh);       
       
        return true;
      }
      return false;
    }

?>

Ringrazio chiunque mi dia una mano... ;)

Offline ikki_83

  • Esploratore
  • **
  • Post: 123
    • Mostra profilo
Re: Come inserire le immagini degli articoli in un feed rss??
« Risposta #10 il: 06 Mar 2007, 16:22:50 »
quel problema è risolto, ora ne ho un altro: eseguendo lo script ottengo questo errore:

Citazione
Errore interpretazione XML: nessun elemento trovato
Indirizzo: http://xbox.eliofranco.it/flashxml/interrogazione.php
Linea numero 1, colonna 1:
^

il nuovo listato:

Citazione
<?php

//Inclusione del connettore
require_once "connessione.php";

//Connessione al database
$conn = mysql_connect($dbhost,$dbuser,$dbpass)
 or die("Impossibile collegarsi al server MySQL.");

//Selezione database
mysql_select_db($dbname,$conn)
 or die("Impossibile selezionare il database $dbname");

//Selezione contenuti
$titolo = "SELECT title FROM jos_content";
$autore = "SELECT author FROM jos_content";

//Selezione intro pubblicati
$intro = "SELECT introtext FROM jos_content WHERE published = '1' ORDER BY id DESC LIMIT 10";


//Selezione immagine
$immagine = "SELECT images FROM jos_content";
             list ($source, $align, $alttext, $border, $dida, $posdida, $aligndida, $weightdida) = split ('[|]', $immagine);
$immagine = "./images/stories/". $source;

//Selezione link
$id = "SELECT id FROM jos_content";
$url = "$HTTP_HOST/index.php?option=com_content&task=view&id=1&Itemid=". $id;

//Creazione file

function MakeXML($titolo, $autore, $intro, $immagine, $url){
    $item->title    = $title;
    $item->autore   = $autore;
    $item->intro    = $intro;
    $item->immagine = $immagine;
    $item->url      = $url;

}

function Output($save = false, $path = ''){

$out = '<?xml version="1.0"?>' . "\n" .

$out =  "<title>$item->title</title>\n" .
        "<autore>$item->autore</autore>\n" .
        "<intro>$item->intro</intro>\n" .
      "<immagine>$item->immagine</immagine>\n" .
      "<url>$item->url</url>\n" .
      
$r->Output(true, './flashxml/cache/rss.xml');

}

// True output
    if( !$save or !$path ){
      header("Content-type: application/xml");
      echo $out;
      return true;
    }
    else{
      $fh = fopen($path, 'w');
      if( $fh ){
        fwrite($fh, $out);
        fclose($fh);       
       
        return true;
      }
      return false;
    }

?>

 



Web Design Bolzano Kreatif