Back to top

Autore Topic: Generare RSS Feed per nuovo componente  (Letto 6262 volte)

Offline caps

  • Abituale
  • ****
  • Post: 848
  • Sesso: Maschio
  • smanetòn (geek)
    • Mostra profilo
Generare RSS Feed per nuovo componente
« il: 30 Ago 2013, 12:49:37 »

Buongiorno,
 mi affido al forum    ???


ho trovato una guida semplice (forse troppo per me, se posso metterò il link) dove trovo:


creare una nuova vista e modello per il componente che chiamerò "rss":
creo la cartella in components\com_miocomponente\views\rss
creo il file components\com_miocomponente\views\rss\view.html.php


inserisco questo codice:
Codice: [Seleziona]
<?php
//No direct access to this file
defined'_JEXEC' ) or die( 'Restricted access');
jimport'joomla.application.component.view');class customcomponentViewrss extends JViewLegacy
{function display($cachable false$urlparams false)
{
$model =& $this->getModel();
$detail $model->getrecords();
}
}     
?>

aggiorno "class customcomponentViewrss extends" a "class miocomponenteViewrss extends"



creo il file components\com_miocomponente\views\rss\tmpl\default.php


inserisco questo codice:
Codice: [Seleziona]
<?php
//No direct access to this file
defined'_JEXEC' ) or die( 'Restricted access');
?>

creo il file components\com_miocomponente\models\rss.php


parte del codice:
Codice: [Seleziona]
<?php
//No direct access to this file
defined'_JEXEC' ) or die( 'Restricted access');
// import joomla model library
jimport('joomla.application.component.model');
class 
Modelcustomcomponentrss extends JModelList{function getrecords() {
$db JFactory::getDBO();
$query "SELECT * FROM #__YOUR_TABLE_NAME ORDER BY id DESC";
$db->setQuery($query);
$db_value $db->loadObjectList();
$this->showxml($db_value);
}
function 
showxml($db_value) {
ob_clean();
header("Cache-Control: no-cache, must-revalidate");


// ...        
        
echo "<rss xmlns .....  >";        
        
foreach (
$db_value as $value) {       
echo 
"<item>";        
echo 
"<id>".$value->image."</id>";


// ...


echo "</item>";
}
echo 
"</rss>";
exit();
}
}
?>

dovrei aggiornare "class Modelcustomcomponentrss extends" in "class ... extends"
ho provato alcuni nomi ma ricevo l'errore "Fatal error: Class 'JModelList' not found in ... "


per richiamare il tutto ad esempio in un articolo:
Codice: [Seleziona]
<a href="<?php echo "website/index.php?option=com_miocomponente&view=rss"?>" id="rssfeed">RSS Feed</a>


un aiutino? grazie


p.s. se può interessare il componente su cui stò smanettando è AdsManager 2.8.1...
customcomponentViewrss passa a adsmanagerViewrss


p.p.s non isultatemi per la mia ignoranza
Caps
dentri Furlan (Furlan inside)-un istant par imparà il furlan

Offline Arkimede360

  • Appassionato
  • ***
  • Post: 592
  • Sesso: Maschio
  • www.arkimede360.it
    • Mostra profilo
Re:Generare RSS Feed per nuovo componente
« Risposta #1 il: 22 Dic 2013, 00:13:36 »
Ciao, hai trovato una soluzione? Sono al tuo stesso punto. Ho trovato la guida. Se trovo una soluzione ti scrivo.
fabio@arkimede360.it
www.arkimede360.it
p.iva 02532850597

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Generare RSS Feed per nuovo componente
« Risposta #2 il: 23 Dic 2013, 08:08:20 »
il post di partenza è un poco vecchio...  :(

ma ti/vi serve una view per il feed rss o aggiungere il feed ad una view esistente? perché nel primo caso mi pare servisse la seconda, e quindi quello è l'approccio sbagliato.

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline Arkimede360

  • Appassionato
  • ***
  • Post: 592
  • Sesso: Maschio
  • www.arkimede360.it
    • Mostra profilo
Re:Generare RSS Feed per nuovo componente
« Risposta #3 il: 23 Dic 2013, 11:45:15 »
Ciao, io ho risolto facendo un feed rss partendo da una pagina php esterna.
fabio@arkimede360.it
www.arkimede360.it
p.iva 02532850597

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Generare RSS Feed per nuovo componente
« Risposta #4 il: 23 Dic 2013, 12:18:52 »
beh, se hai risolto dedichiamoci ai preparativi del cenone  ;D ;D

ciao
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline caps

  • Abituale
  • ****
  • Post: 848
  • Sesso: Maschio
  • smanetòn (geek)
    • Mostra profilo
Re:Generare RSS Feed per nuovo componente
« Risposta #5 il: 09 Gen 2014, 15:51:22 »
ho risolto ... anche in maniera semplice ...


ho salvato il file view.html.php in view.xml.php della vista interessata, adattato il tmpl/default.php ...


richiamo il feed rss  .../index.php?option=com_component&view=rss&format=xml    (com_component e rss va sostituito ... )
Caps
dentri Furlan (Furlan inside)-un istant par imparà il furlan

Offline nick_ingenia

  • Nuovo arrivato
  • *
  • Post: 5
    • Mostra profilo
Re:Generare RSS Feed per nuovo componente
« Risposta #6 il: 19 Nov 2016, 11:12:44 »

ho risolto ... anche in maniera semplice ...


ho salvato il file view.html.php in view.xml.php della vista interessata, adattato il tmpl/default.php ...


richiamo il feed rss  .../index.php?option=com_component&view=rss&format=xml    (com_component e rss va sostituito ... )



Salve a tutti,
caps vorrei chiederti la gentilezza di indicarmi come hai fatto per siolvere il problema, anche se è passato un bel pò di tempo (3 anni  ;D )


Mi trovo nella stessa situazione, il mio obiettivo è di generare un feed xml interrogando una tabella specifica del database.


Ho seguito le tue indicazioni per la soluzione ma non capisco che modifiche hai fatto al file rss.php (hai detto "riadattato" il file rss.php). Inoltre cosa intendi con (com_component e rss va sostituito ... )  ? Con cosa va sostituito se viene utilizzato il nome miocomponente?


Quando provo a navigare con il link che hai indicato o simile ricevo sempre Errore 404.

Arkimede360 ho letto che hai risolto facendo un feed rss da una pagina php esterna, il che sarebbe per me la soluzione più semplice evitando di creare il componente personalizzato. Se ricordi o riesci a risalire, potresti indicarmi come hai fatto?

Grazie


Offline Arkimede360

  • Appassionato
  • ***
  • Post: 592
  • Sesso: Maschio
  • www.arkimede360.it
    • Mostra profilo
Re:Generare RSS Feed per nuovo componente
« Risposta #7 il: 19 Nov 2016, 11:15:45 »
Ciao nick_ingenia quale sarebbe la tabella del DB da cui devi estrarre i feed? Vediamo se c'è qualcosa già sviluppato in giro.
fabio@arkimede360.it
www.arkimede360.it
p.iva 02532850597

Offline nick_ingenia

  • Nuovo arrivato
  • *
  • Post: 5
    • Mostra profilo
Re:Generare RSS Feed per nuovo componente
« Risposta #8 il: 19 Nov 2016, 11:48:19 »

Mi interessa lanciare una semplice query della tabella _banners.

In realtà sono già riuscito a visualizzare tramite componente (jumi) il risultato diun file php su un articolo joomla, ma non mi permette di generare rss.

Questo è il codice:

<?php

// Connect to database
$db = JFactory::getDbo();
$query = $db->getQuery(true);

// Build the query
$query->select($db->quoteName(array('title', 'introtext')));
$query->from($db->quoteName('#__content'));
$query->where($db->quoteName('introtext') . ' LIKE '. $db->quote('%Joomla%'));
$query->order('ordering ASC');
$query->setLimit('1');

$db->setQuery($query);
$results = $db->loadObjectList();

// Print the result
foreach($results as $result){
    echo '<h3>' . $result->title . '</h3>';
    echo $result->introtext;
}
?>


Il problema è che se questa pagina viene aperta da url dà errore. Quindi mi serve un file php che passando o non passando da joomla genersi l’rss dei dati provenienti dalla query.

Quindi mi andrebbe bene anche il solo funzionamento della query su qualsiasi tabella di joomla, poi provvederei io a modificare la query.

Offline caps

  • Abituale
  • ****
  • Post: 848
  • Sesso: Maschio
  • smanetòn (geek)
    • Mostra profilo
Re:Generare RSS Feed per nuovo componente
« Risposta #9 il: 23 Nov 2016, 15:37:18 »
com_component lo rinomini con il nome del tuo componente
nel mio caso specifico avevo:  .../index.php?option=com_adsmanager&view=rss&format=xml



ho riadattato il file default.php della vista che viene chiamata


non ricordo molto bene tutti i passaggi ... ma se non mi sbaglio ho "copiato" da un altro componente che aveva il feed rss fatto in questa maniera molto semplice ... leggendolo da qualche parte in qualche forum ...
Caps
dentri Furlan (Furlan inside)-un istant par imparà il furlan

 



Web Design Bolzano Kreatif