Grazie mille ad entrambi provo ad implementare il suggerimento di @luX0r75 e vi aggiorno.
R
RRoberta
@RRoberta
Post
-
generazione Feed RSS personalizzato - plugin o override? -
generazione Feed RSS personalizzato - plugin o override?Gentilissimi, ringrazio tutti per il contributo.
ho risolto in questo modo:
1. Creato override di FEED.View
a. Copiato view.feed.php da /components/com_content/views/category/view.feed.php a /templates/[my_template]/html/com_content/category
b. Modificato aggiungendo questo codice dopo istruzione: '$item->author = $item->created_by_alias ?: $item->author;' per far visualizzare l'articolo completo (dopo il leggi tutto) e gli item enclosure, content:encoded, media) :
// ===============================
// CONTENUTO COMPLETO (content:encoded)
// ===============================
$fullContent = $item->introtext . $item->fulltext;$item->customElements[] = array( 'name' => 'content:encoded', //'content' => '<![CDATA[' . $fullContent . ']]>' 'content' => $fullContent ); // =============================== // CERCA PDF NEL CONTENUTO // =============================== $pdf = ''; preg_match('/href="([^"]+\.pdf)"/i', $fullContent, $matches); if (!empty($matches[1])) { $pdf = $matches[1]; if (strpos($pdf, 'http') !== 0) { $pdf = JURI::root() . ltrim($pdf, '/'); } // =============================== // ENCLOSURE (PDF) // =============================== $enclosure = new stdClass(); $enclosure->url = $pdf; $enclosure->length = 0; $enclosure->type = 'application/pdf'; $item->enclosure = $enclosure; //$item->enclosure = array( // 'url' => $pdf, // 'type' => 'application/pdf' //); // =============================== // MEDIA:CONTENT // =============================== $item->customElements[] = array( 'name' => 'media:content', 'attrs' => array( 'url' => $pdf, 'type' => 'application/pdf', 'medium' => 'document' ) ); } // =============================== // DC:CREATOR // =============================== $item->customElements[] = array( 'name' => 'dc:creator', 'content' => htmlspecialchars($item->author)); } } c. Caricato lato ftp. 2. Modificato il file RssRenderer.php (ATTENZIONE è CORE JOOMLA NON Può ESSERE OVERRIDATO)presente in libraries/joomla/document/feed/renderer/rss.php a. Ho sostituito l'istruzione tag: $xml .= '<rss version="2.0">'; con $xml .= '<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:dc="http://purl.org/dc/elements/1.1/">'; 3. Pulire la cache