Πρόβλημα με rss feed

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Πρόβλημα με rss feed

Δημοσίευση από Apostolis_38 » 21 Ιαν 2013 16:03

Καλησπέρα σε όλους.
Φτιάχνω ένα rss feed όπου προσπαθώ να εμφανίζω κάποια προϊόντα από μία εφαρμογή Magento.
Το πρόβλημα δημιουργείται όταν προσπαθώ να ομαδοποιήσω τα προίόντα ανα κατηγορία και να εμφανίζω τα προϊόντα κάτω από την εκάστοτε κατηγορία.
Ο κώδικας είναι ο εξής:

Κώδικας: Επιλογή όλων

public function GetFeed()	{ 
	return $this->getCategories();
}

private function getCategories()	{
	require_once SITE_ROOT.'app/Mage.php';//connect to Magento
	Varien_Profiler::enable();
	Mage::setIsDeveloperMode(true);
	Mage::app();
	$categories = Mage::getModel('catalog/category')
	->getCollection()
	->addAttributeToFilter('entity_id', array('nin' => array('1','2','11')))
	->addAttributeToSelect('*')
	->addAttributeToSort('order_id', 'ASC');
	foreach($categories as $category)	{//print results
		$this->categ = $category->getId();
		$header = '<?xml version="1.0" encoding="utf-8"?>
			<rss version="2.0">
				<channel>
					<title>Κατάλογος Προϊόντων</title>
					<description><!&#91;CDATA&#91;'.$category->getName&#40;&#41;.'&#93;&#93;></description>';
		$this->getProducts&#40;&#41;;//get products for each category
	&#125;//close foreach&#40;$categories as $category&#41;
	return $header;
&#125;


private function getProducts&#40;&#41;	&#123;
	$this->categ;
	require_once SITE_ROOT.'app/Mage.php';//connect to Magento
	Varien_Profiler&#58;&#58;enable&#40;&#41;;
	Mage&#58;&#58;setIsDeveloperMode&#40;true&#41;;
	Mage&#58;&#58;app&#40;&#41;;
	$products = Mage&#58;&#58;getModel&#40;'catalog/product'&#41;
	->getCollection&#40;&#41;
	->joinField&#40;'category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left'&#41;
	->addAttributeToFilter&#40;'category_id', array &#40;'in' => $this->categ&#41;&#41;
	->addAttributeToSelect&#40;'*'&#41;;
	$items = '';
	foreach &#40;$products as $product&#41; &#123;//print results
		$items .= '<item>
		<title>'.$product->getStoreCategories&#40;&#41;.'</title>
		<description><!&#91;CDATA&#91;<image>
					<title>'.$product->getSmallImageUrl&#40;&#41;.'</title>
					<br />
					<a href=path/'.$product->getUrlPath&#40;&#41;.'>'.$product->getName&#40;&#41;.'</a>'.
					'<br />
					<img src='.$product->getSmallImageUrl&#40;&#41;.' border="0"></image>
					<br />'.$product->getShortDescription&#40;&#41;.'&#93;&#93;></description>
		</item>';
	&#125;//close foreach &#40;$products as $product&#41;
	$items .= '</channel>
	</rss>';
return $items;
&#125;//close function getItems
Το αρχείο αυτό το καλώ μέσα από άλλο αρχείο όταν ο χρήστης κάνει κλίκ

Κώδικας: Επιλογή όλων

header&#40;"Content-Type&#58; application/xml; charset=utf-8"&#41;; 
require_once &#40;'config.php'&#41;;
include&#40;INCLUDED_FILES_PATH.'/rss.class.php'&#41;; 
$rss = new RSS&#40;&#41;;
echo $rss->GetFeed&#40;&#41;;
Ενώ όταν τρέχω το αρχείο σαν html

Κώδικας: Επιλογή όλων

header&#40;"Content-Type&#58; text/html; charset=utf-8"&#41;;
όλα τρέχουν εντάξει, ακριβώς το ίδιο script σαν xml δεν τρέχει και μου εμφανίζει μόνο το title.
edit Χωρίς όμως να πετά κάποιο σφάλμα. Το script δείχνει να τρέχει κανονικά αλλά δεν μπορεί να εμφανίσει τα δεδομένα.


Καμμιά ιδέα για το τι μπορεί να φταίει;

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες