Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Вопросик по Rss
 
alesto
Guru
 
Total Posts:  624
Joined:  2009-03-21
 

Вообщем разобрался я почему у меня рсс не работал. Теперь другой вопрос, Ð’ рсс выводится только название товара, его картинка и цена. Хотелось бы чтобы выводилось больше данных. Также Как можно перевести слово “price”.

 
Magento Community Magento Community
Magento Community
Magento Community
 
niro
Mentor
 
Avatar
Total Posts:  1609
Joined:  2009-03-04
Latvia, Riga
 

Я редактировал код движка, так что после каждого обновления кидаю файлы свои по верху пришедших. Когда будет время планирую оформить отдельным модулем…

Вот, например, мой код для новый товаров (app\code\core\Mage\Rss\Block\Catalog\new.php)
менял выбор языка, запрос(некоторые товары не выбирались) и переводил фразы.

class Mage_Rss_Block_Catalog_New extends Mage_Rss_Block_Abstract
{
    
protected function _construct()
    
{
        
/*
        * setting cache to save the rss for 10 minutes
        */
        //$this->setCacheKey('rss_catalog_new_'.$this->_getStoreId());
        //$this->setCacheLifetime(600);
    
}

    
protected function _toHtml()
    
{
        $storeId 
$this->_getStoreId();
        
$lang Mage::getStoreConfig('general/locale/code'$storeId);

        
$newurl Mage::getUrl('rss/catalog/new');
        
$title Mage::helper('rss')->__('New Products from %s',Mage::app()->getStore()->getGroup()->getName());

        
$rssObj Mage::getModel('rss/rss');
        
$data = array('title' => $title,
                
'description' => $title,
                
'link'        => $newurl,
                
'charset'     => 'UTF-8',
                
'language'    => $lang
                
);
        
$rssObj->_addHeader($data);
/*
oringinal price - getPrice() - inputed in admin
special price - getSpecialPrice()
getFinalPrice() - used in shopping cart calculations
*/

        
$product Mage::getModel('catalog/product');
//        $todayDate = $product->getResource()->formatDate(time());
        
$todayDate $product->getResource()->formatDate(mktime(000date("m"), date("d")), true); // niro: adding time 00:00:00 to date correct selecting products getting special on today

        
$products $product->getCollection()
            ->
setStoreId($storeId)
            ->
addStoreFilter()
            ->
addAttributeToFilter('news_from_date', array('date'=>false'to'=> $todayDate))
            ->
addAttributeToFilter(array(array('attribute'=>'news_to_date''date'=>true'from'=>$todayDate), array('attribute'=>'news_to_date''is' => new Zend_Db_Expr('null'))),'','left')
            ->
addAttributeToSort('news_from_date','desc')
            ->
addAttributeToSelect(array('name''short_description''description''price''thumbnail'), 'inner')
            ->
addAttributeToSelect(array('special_price''special_from_date''special_to_date'), 'left')
        ;

        
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($products);
        
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($products);
//echo $products->getSelect();
        /*
        using resource iterator to load the data one by one
        instead of loading all at the same time. loading all data at the same time can cause the big memory allocation.
        */
        
Mage::getSingleton('core/resource_iterator')
            ->
walk($products->getSelect(), array(array($this'addNewItemXmlCallback')), array('rssObj'=> $rssObj'product'=>$product));

        return 
$rssObj->createRssXml();
    
}

    
public function addNewItemXmlCallback($args)
    
{
        $labelPrice 
Mage::helper('rss')->__('Price:');
        
$labelSpecialPrice Mage::helper('rss')->__('Special Price:');
 
        
$product $args['product'];
        
//$product->unsetData()->load($args['row']['entity_id']);
        
$product->setData($args['row']);
        
$final_price $product->getFinalPrice();
        
$description '<table><tr>'.
            
'<td><a href="'.$product->getProductUrl().'"><img src="'$this->helper('catalog/image')->init($product'thumbnail')->resize(7575) .'" border="0" align="left" height="75" width="75"></a></td>'.
            
'<td  style="text-decoration:none;">'.$product->getDescription().
            
'<p> ' $labelPrice Mage::helper('core')->currency($product->getPrice()).
            (
$product->getPrice() != $final_price  '<br/>' $labelSpecialPrice Mage::helper('core')->currency($final_price) : '').
            
'</p>'.
            
'</td>'.
            
'</tr></table>';
        
$rssObj $args['rssObj'];
        
$data = array(
                
'title'         => $product->getName(),
                
'link'          => $product->getProductUrl(),
                
'description'   => $description,

                );
        
$rssObj->_addEntry($data);
    
}
}
 
Magento Community Magento Community
Magento Community
Magento Community
 
alesto
Guru
 
Total Posts:  624
Joined:  2009-03-21
 

Спасибо всё получилось smile

 
Magento Community Magento Community
Magento Community
Magento Community
 
alesto
Guru
 
Total Posts:  624
Joined:  2009-03-21
 

Скажите пожалуйста а какой файл нужно править чтобы рсс, поменять? а то мне кажется что одна цена и картинка как то маловато.

 
Magento Community Magento Community
Magento Community
Magento Community
 
niro
Mentor
 
Avatar
Total Posts:  1609
Joined:  2009-03-04
Latvia, Riga
 

Может туплю с утра, но кажется именно в этом файле всё делается. Вид вывода формируется функцией public function addNewItemXmlCallback($args)… Правь что надо… а если нету каких-то данных, то и запрос чуть выше стоит подправить.

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top