I was taking a look at the RssHelper file and there is case for "enclosure" 
which is not documented but here's how it work:


<?php
    App::uses('Sanitize', 'Utility');
    
    $this->set('channelData', array(
        'title' => 'test',
        'link' => 'test',
        'url' => 'tes',
        'description' => 'test',
        'language' => 'en-us',
        'managing-editor' => 'test',
    ));

    foreach($posts as $post) {
        
        // This is the part where we clean the body text for output as the 
description
        // of the rss item, this needs to have only text to make sure the 
feed validates
        $bodyText = preg_replace('=\(.*?\)=is', '', 
$post['Post']['excerpt']);
        $bodyText = $this->Text->stripLinks($bodyText);
        $bodyText = Sanitize::stripAll($bodyText);
        $bodyText = $this->Text->truncate($bodyText, 400, array(
            'ending' => '...',
            'exact'  => true,
            'html'   => true,
        ));
        
        echo $this->Rss->item(array(), array(
            'title' => $post['Post']['title'],
            'link' => array(
                'controller' => 'streams',
                'action' => 'view', $post['Post']['id']
            ),
            'guid' => array(
                'controller' => 'streams',
                'action' => 'view', $post['Post']['id']
            ),
            'description' => $bodyText,
            'pubDate' => $post['Post']['post_date'],
            'enclosure' => array('url' => 
$this->Html->url('/app/webroot/'.$post['Post']['image_site_thumb'], true), 
'width' => '140', 'height' => '100')
        ));
    }
?>

I'm sure this can be done view the elem method but I'm not sure how to get 
that to work.


On Friday, January 11, 2013 1:37:19 PM UTC-5, TonyCharlotteCakePHP wrote:
>
> I'm having the same issue. I'm assuming it can be done via elem method of 
> the Rss Helper class. 
> http://api20.cakephp.org/file/Cake/View/Helper/RssHelper.php# (scroll 
> down to the Rss helper class info). Here's what I have in my rss.ctp file 
> but I can't get the elem method to work properly:
>
>
> <?php
>     App::uses('Sanitize', 'Utility');
>     
>     $this->set('channelData', array(
>         'title' => 'test',
>         'link' => 'test',
>         'url' => 'test',
>         'description' => 'test',
>         'language' => 'en-us',
>         'managing-editor' => 'test',
>     ));
>
>     foreach($posts as $post) {
>         
>         // Clean the body text for output as the description of the rss 
> item,
>         // this needs to have only text to make sure the feed validates
>         $bodyText = preg_replace('=\(.*?\)=is', '', 
> $post['Post']['excerpt']);
>         $bodyText = $this->Text->stripLinks($bodyText);
>         $bodyText = Sanitize::stripAll($bodyText);
>         $bodyText = $this->Text->truncate($bodyText, 400, array(
>             'ending' => '...',
>             'exact'  => true,
>             'html'   => true,
>         ));        
>         
>         echo $this->Rss->item(array(), array(
>             'title' => $post['Post']['title'],
>             'link' => array(
>                 'controller' => 'streams',
>                 'action' => 'view', $post['Post']['id']
>             ),
>             'guid' => array(
>                 'controller' => 'streams',
>                 'action' => 'view', $post['Post']['id']
>             ),
>             'description' => $bodyText,
>             'pubDate' => $post['Post']['post_date'],
>             'elem' => array('media:thumbnail', array('url' => 
> $this->Html->url('/app/webroot/'.$post['Post']['image_site_thumb'], true), 
> 'width' => '75', 'height' => '75'), NULL, false)
>         ));
>     }
> ?>
>
>  
>
> On Tuesday, April 17, 2012 4:21:48 AM UTC-4, Reza Talamkhani wrote:
>>
>> Hi, how can I insert images in my rss feed? I want one image to go
>> with each post.
>>
>> index.ctp
>>
>> <?php
>> $this->set('documentData', array(
>>     'xmlns:dc' => 'http://purl.org/dc/elements/1.1/'));
>>
>> $this->set('channelData', array(
>>     'title' => __("پست های اخیر رضا تلم خانی"),
>>     'link' => $this->Html->url('/', true),
>>     'description' => __("وب سایت رسمی رضا تلم خانی"),
>>     'language' => 'fa'));
>>
>> App::uses('Sanitize', 'Utility');
>> foreach ($posts as $post) {
>>     //$postTime = strtotime($post['Post']['created']);
>>
>>     $postLink = array(
>>         'controller' => 'posts',
>>         'action' => 'view',
>>         $post['Post']['id'],
>>         //'year' => date('Y', $postTime),
>>         //'month' => date('m', $postTime),
>>         //'day' => date('d', $postTime),
>>         //$post['Post']['slug']
>>     );
>>
>>     // This is the part where we clean the body text for output as the 
>> description
>>     // of the rss item, this needs to have only text to make sure the 
>> feed validates
>>     $bodyText = preg_replace('=\(.*?\)=is', '', $post['Post']['body']);
>>     $bodyText = strip_tags($bodyText);
>>     $bodyText = $this->Text->stripLinks($bodyText);
>>     $bodyText = Sanitize::stripAll($bodyText);
>>     $bodyText = $this->Text->truncate($bodyText, 400, array(
>>         'ending' => '...',
>>         'exact'  => true,
>>         'html'   => true,
>>     ));
>>
>>     echo  $this->Rss->item(array(), array(
>>         'title' => $post['Post']['title'],
>>         'link' => $postLink,
>>         'guid' => array('url' => $postLink, 'isPermaLink' => 'true'),
>>         'description' => $bodyText,
>>         'creator' => $post['User']['full_name'],
>>         'pubDate' => $post['Post']['created'],
>>     ));
>> }
>>
>> ?>
>>
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
Visit this group at http://groups.google.com/group/cake-php?hl=en.


Reply via email to