Quando vai sulla pagina del feed, guardando il codice, dove viene stampato il dump di $res, gli id sono corretti?
Quando vai sulla pagina del feed, guardando il codice, dove viene stampato il dump di $res, gli id sono corretti?
No purtroppo no, come puoi vedere cliccando sull'icona Rss in fondo alla pagina, i link dei feed è ancora sbagliato.
<?xml version="1.0" encoding="utf-8"?>
<!-- generator="Joomla! 1.5 - Open Source Content Management" -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Trilocali</title>
<description>Il Borgo Immobiliare - Agenzia di intemediazione immobiliare - Vendita e affitto in Cremona e Provincia</description>
<link>http://www.borgoimmobiliare.it/index.php?option=com_jea&view=properties&I temid=58</link>
<lastBuildDate>Thu, 04 Aug 2016 14:33:49 +0000</lastBuildDate>
<generator>Joomla! 1.5 - Open Source Content Management</generator>
<language>it-it</language>
<item>
<title>APPARTAMENTO IN VILLA CON GIARDINO PRIVATO</title>
<link>http://www.borgoimmobiliare.it/index.php?view=properties&id=638&option=co m_jea&Itemid=58</link>
<guid>http://www.borgoimmobiliare.it/index.php?view=properties&id=638&option=co m_jea&Itemid=58</guid>
<description><![CDATA[A pochi minuti da Cremona in direzione via Milano, paese servito da mezzi pubblici ed attività commerciali.Appartamento in villa di 95 mq,sito al piano terra con ingresso indipendente composto da ingresso, soggiorno, cucina abitabile e bagno/lavanderia.Al primo piano una camera da letto matrimoniale, una camera da letto doppia e bagno.Dal soggiorno si accede direttamente al giardino di 100 mq di proprietà dell'immobile.Possibilità box.L'appartamento è tenuto molto bene, belle finiture e completa di pannelli solari.Il contesto è del 2009]]></description>
<category>6</category>
<pubDate>Fri, 29 Jul 2016 17:40:20 +0000</pubDate>
</item>
<item>
<title>TRILOCALE CON BOX E GIARDINO DI 188 MQ A POCHI MINUTI DA CREMONA</title>
<link>http://www.borgoimmobiliare.it/index.php?view=properties&id=637&option=co m_jea&Itemid=58</link>
<guid>http://www.borgoimmobiliare.it/index.php?view=properties&id=637&option=co m_jea&Itemid=58</guid>
<description><![CDATA[A pochi minuti da Cremona in bellissimo e recente contesto di Cascina completamente ristrutturato, appartamento al piano terra composto da ingresso, soggiorno con angolo cottura, una camera da letto matrimoniale, una camera da letto singola comoda, bagno con doccia, cantina, garage e bellissimo giardino di 188 mq.Tenuto molto molto bene, pronto da abitare e volendo l'arredo compreso nel prezzo.CLASSE F 87,78]]></description>
<category>6</category>
<pubDate>Mon, 25 Jul 2016 18:35:03 +0000</pubDate>
</item>
---------------------
Il primo annuncio dovrebbe avere nel link l'id=641 e non id=638
ok, però var_dump dovrebbe stampare a video l'oggetto $res...e non lo vedo. Sicuro stai modificando il file giusto?
La stringa che mi hai dato da aggiungere l'ho messa qui:
var_dump($res);
foreach ( $res['rows'] as $row ) {
dove mi hai detto
Ho fatto un file zip dove se vuoi puoi scaricare i file dell'intero componente di joomla pesa 45kb:
Questo è l'indirizzo:
http://www.borgoimmobiliare.it/com_jea.zip
Lo lascio scaricabile per un'oretta dopo lo tolgo.
Naturalmente non ha la modifica dump $res che ho fatto
Grazie ancora
facciamo due esperimenti:
1.
metti un return al posto di var_dump che ti avevo detto. Se, dopo aver cancellato la cache non ti visualizza più gli item, vuol dire che è il file giusto.
In questo caso,
2.
al posto del return metti
vedi che hai nel file metti_un_path_che_puoi_scrivere/log.txtCodice PHP:
ob_start();
var_dump($res);
$log = ob_get_clean();
file_put_contents("metti_un_path_che_puoi_scrivere/log.txt", $log);
Ok ho messo return e adesso non mi vede piu i file nel feed
Ho aggiunto il codice che mi hai inviato e creato il file log.txt
Ora il codice del file è questo:
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die();
require_once JPATH_COMPONENT.DS.'view.php';
class JeaViewProperties extends JeaView
{
function display($tpl = null)
{
global $mainframe;
$document =& JFactory::getDocument();
$params =& $mainframe->getParams();
$siteEmail = $mainframe->getCfg('mailfrom');
$document->link = JRoute::_('index.php?option=com_jea&view=propertie s');
JRequest::setVar('limit', $mainframe->getCfg('feed_limit'));
$res = $this->get('properties');
ob_start();
var_dump($res);
$log = ob_get_clean();
file_put_contents("/home/websites/borgo/html/log/log.txt", $log);
foreach ( $res['rows'] as $row ) {
if(empty($row->title)) {
$title = ucfirst( JText::sprintf('PROPERTY TYPE IN TOWN',
$this->escape($row->type), $this->escape($row->town)));
} else {
// strip html from feed item title
$title = $this->escape( $row->title );
}
// url link to article
$item->link = JRoute::_('index.php?view=properties&id='. $row->id);
// strip html from feed item description text
$description = strip_tags($row->description);
$author = "Author"; // soon, will get the author name
// load individual item creator class
$item = new JFeedItem();
$item->title = html_entity_decode($title);
// $item->link = $link;
$item->description = $description;
$item->date = $row->date_insert;
$item->category = $row->type_id;
$item->author = $author;
$item->authorEmail = $feedemail;
// loads item info into rss array
$document->addItem( $item );
}
}
}
Si....
se vai in:
http://www.borgoimmobiliare.it/log/log.txt
trovi tutto quello che ha scritto
Se vedi gli id sono ok.
Adesso modifica il file così:
Codice PHP:
$res = $this->get('properties');
$log = '';
foreach ( $res['rows'] as $row ) {
if(empty($row->title)) {
$title = ucfirst( JText::sprintf('PROPERTY TYPE IN TOWN',
$this->escape($row->type), $this->escape($row->town)));
} else {
// strip html from feed item title
$title = $this->escape( $row->title );
}
// url link to article
$item->link = JRoute::_('index.php?view=properties&id='. $row->id);
// strip html from feed item description text
$description = strip_tags($row->description);
$author = "Author"; // soon, will get the author name
// load individual item creator class
$item = new JFeedItem();
$item->title = html_entity_decode($title);
// $item->link = $link;
$item->description = $description;
$item->date = $row->date_insert;
$item->category = $row->type_id;
$item->author = $author;
$item->authorEmail = $feedemail;
$log .= $item->link.PHP_EOL;
// loads item info into rss array
$document->addItem( $item );
}
file_put_contents("/home/websites/borgo/html/log/log.txt", $log); // fuori dal foreach
Aspetta...mi sa che ho capito il problema. Tra l'altro è grande come una casa... come ho fatto a non vederlo!!!
in pratica assegni $item->link prima di istanziare $item !!!
Ora se $item mantiene il riferimento, al secondo ciclo vai a modificare il campo link del primo oggetto. Di fatti APPARTAMENTO IN VILLA CON GIARDINO PRIVATO viene messo id 638 che è del secondo !!!!Codice PHP:
$item->link = JRoute::_('index.php?view=properties&id='. $row->id); // ITEM LO CREI SOTTO
// strip html from feed item description text
$description = strip_tags($row->description);
$author = "Author"; // soon, will get the author name
// load individual item creator class
$item = new JFeedItem(); // ECCO DOVE VIENE CREATO $item
Quindi, prova così:
Codice PHP:
// url link to article
// strip html from feed item description text
$description = strip_tags($row->description);
$author = "Author"; // soon, will get the author name
// load individual item creator class
$item = new JFeedItem();
$item->title = html_entity_decode($title);
// $item->link = $link;
$item->link = JRoute::_('index.php?view=properties&id='. $row->id); // <--
$item->description = $description;
$item->date = $row->date_insert;
$item->category = $row->type_id;
$item->author = $author;
$item->authorEmail = $feedemail;
Ultima modifica di boots; 04-08-2016 a 19:15