Great RSS

: mod_feed

Live Demo 

 

Joomla! Official News

Joomla! - the dynamic portal engine and content management system

21 avril 2020

Joomla 3.9.18

Joomla 3.9.18 is now available. This is a bugfix release for the 3.x series of

...

21 avril 2020

Joomla 3.9.17

Joomla 3.9.17 is now available. This is a security release for the 3.x

...

30 mars 2020

Report URI Partner

Joomla, one of the world’s most popular Content Management Systems (CMS),

...

10 mars 2020

Joomla 3.9.16

Joomla 3.9.16 is now available. This is a security release for the 3.x

...

 

Markup

<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_feed
 * @Author 		web-eau.net
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;
?>

<?php
if (!empty($feed) && is_string($feed))
{
	echo $feed;
}
else
{
	$lang      = JFactory::getLanguage();
	$myrtl     = $params->get('rssrtl', 0);
	$direction = ' ';

	$isRtl = $lang->isRtl();

	if ($isRtl && $myrtl == 0)
	{
		$direction = ' redirect-rtl';
	}

	// Feed description
	elseif ($isRtl && $myrtl == 1)
	{
		$direction = ' redirect-ltr';
	}

	elseif ($isRtl && $myrtl == 2)
	{
		$direction = ' redirect-rtl';
	}

	elseif ($myrtl == 0)
	{
		$direction = ' redirect-ltr';
	}
	elseif ($myrtl == 1)
	{
		$direction = ' redirect-ltr';
	}
	elseif ($myrtl == 2)
	{
		$direction = ' redirect-rtl';
	}

	if ($feed !== false)
	{
		// Image handling
		$iUrl   = isset($feed->image) ? $feed->image : null;
		$iTitle = isset($feed->imagetitle) ? $feed->imagetitle : null;
		?>
		<div style="direction: {{{PHP3}}}; text-align: {{{PHP4}}} !important" class="feed<?php echo $moduleclass_sfx; ?>">
		<?php
          
		// Feed title
		if ($feed->title !== null && $params->get('rsstitle', 1))
		{
			?>
			<h2 class="text-center text-primary display-4 <?php echo $direction; ?>">
			<a href="/<?php echo htmlspecialchars($rssurl, ENT_COMPAT, 'UTF-8'); ?>" target="_blank">
			<?php echo $feed->title; ?></a>
			</h2>
			<?php
		}
      
		// Feed date
		if ($params->get('rssdate', 1)) : ?>
			<h3>
			<?php echo JHtml::_('date', $feed->publishedDate, JText::_('DATE_FORMAT_LC3')); ?>
			</h3>
		<?php endif;
      
		// Feed description
		if ($params->get('rssdesc', 1))
		{
		?>
			<h5 class="text-center text-primary">
            <?php echo $feed->description; ?>
            </h5>
			<?php
		}
      
		// Feed image
		if ($iUrl && $params->get('rssimage', 1)) :
		?>
			<img src="/<?php echo $iUrl; ?>" alt="<?php echo @$iTitle; ?>" />
		<?php endif; ?>
		
          <hr />

	<!-- Show items -->
	<?php if (!empty($feed))
	{ ?>
		<div class="row pt-3 newsfeed<?php echo $params->get('moduleclass_sfx'); ?>">
      	<a href="/<?php echo htmlspecialchars($rssurl, ENT_COMPAT, 'UTF-8'); ?>" target="_blank">
		<?php for ($i = 0, $max = min(count($feed), $params->get('rssitems', 3)); $i < $max; $i++) { ?>
			<?php
				$uri  = $feed[$i]->uri || !$feed[$i]->isPermaLink ? trim($feed[$i]->uri) : trim($feed[$i]->guid);
				$uri  = !$uri || stripos($uri, 'http') !== 0 ? $rssurl : $uri;
				$text = $feed[$i]->content !== '' ? trim($feed[$i]->content) : '';
			?>
              
				<div class="col-6">
					
              		<?php if (!empty($uri)) : ?>                      
						<div class="card-title feed-link px-2">
						<h5><a href="/<?php echo htmlspecialchars($uri, ENT_COMPAT, 'UTF-8'); ?>" target="_blank">
						<?php echo trim($feed[$i]->title); ?></a> <small class="text-muted">(<?php echo JHtml::_('date', $feed[$i]->publishedDate, JText::_('DATE_FORMAT_LC3')); ?>)</small>
                        </h5>
                        </div>    
					<?php else : ?>
						<div class="feed-link"><?php echo trim($feed[$i]->title); ?></div>
					<?php endif; ?>
                      
					<?php if ($params->get('rssitemdate', 0)) : ?>
						<div class="feed-item-date">
							<?php echo JHtml::_('date', $feed[$i]->publishedDate, JText::_('DATE_FORMAT_LC3')); ?>
						</div>
					<?php endif; ?>
                      
					<?php if ($params->get('rssitemdesc', 1) && $text !== '') : ?>
						<div class="px-2 feed-item-description">
						<p class="px-2"><?php
							// Strip the images.
							//$text = JFilterOutput::stripImages($text);
							$text = JHtml::_('string.truncate', $text, $params->get('word_count', 0));
							echo str_replace('&apos;', "'", $text);
						?></p>                         
                        </div>
					<?php endif; ?>
                   
				</div>
		<?php } ?>
          </a>
		</div>
	<?php } ?>
	</div>
	<?php }
}
 

Daniel Dubois

Daniel Dubois

Passionné par le Web depuis 2007, Daniel défend la veuve et l'orphelin du web en créant des sites respectueux du W3C. Fort d'une expérience de plusieurs années, il partage ses connaissances dans un état d'esprit open source.
Très impliqué dans la communauté Joomla depuis 2014, il est actif de plusieurs projets, conférencier et fondateur du JUG Breizh.