This Joomla 4 override allows you to display a nice footer section with several links simply using Joomla's mod_articles_category module. At the bottom of this article, you can download the files of the override.

Joomla 4 frontend rendering

PhP markup

<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_category
 * @author		web-eau.net
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Helper\ModuleHelper;
use Joomla\CMS\Language\Text;

if (!$list)
{
	return;
}

?>

<div class="row row-cols-1 row-cols-md-4 g-4"> <!-- Because we want 4 columns -->
	
	<?php foreach ($list as $groupName => $items) : ?>
		<div>
			<h4 class="mod-articles-category-group fw-bold text-center"><?php echo Text::_($groupName); ?></h4>
			
			<div class="col">
				<div class="h-100 p-3 text-center">
				
					<?php foreach ($items as $item) : ?>
					
						<div class="py-1">
							<?php $attributes = ['class' => 'mod-articles-category-title ' . $item->active]; ?>
							<?php $link = htmlspecialchars($item->link, ENT_COMPAT, 'UTF-8', false); ?>
							<?php $title = htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8', false); ?>
							<?php echo HTMLHelper::_('link', $link, $title, $attributes); ?>

						</div>
						
					<?php endforeach; ?>
					
				</div>
			</div>
				
		</div>
	<?php endforeach; ?>
	
</div>

<hr />   
<!-- Copyright footer -->      
<div class="text-center pb-5">
<?php $config = JFactory::getConfig(); echo 'Copyright <i class="fa fa-copyright"></i> 2012 - '; echo date('Y'); echo (' - '); echo $config->get( 'sitename' ); echo (' - All rights reserved'); ?>
</div>
 

Download the override

override-footer-links-j4.zip

Install the override

Enjoy the override

PayPalMe with a beer

This Joomla 3 override allows you to display a nice footer section with several links simply using Joomla's mod_weblinks module. At the bottom of this article, you can download the files of the override.

Joomla 3 frontend rendering

PhP markup

<?php
	/**
		* @package     Joomla.Administrator
		* @subpackage  Weblinks
		* @Author	   web-eau.net
		* @copyright   Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
		* @license     GNU General Public License version 2 or later; see LICENSE.txt
	*/
	defined('_JEXEC') or die;
?>
<div class="container">
	<?php if ($params->get('groupby', 0)) : ?>
	<?php $cats = array(); ?>
	<?php $cols = $params->get('groupby_columns', 3); ?>
	<?php foreach ($list as $l) : ?>
	<?php $cats[] = array('catid' => $l->catid, 'title' => $l->category_title); ?>
	<?php endforeach; ?>
	<?php $cats = array_values(array_map('unserialize', array_unique(array_map('serialize', $cats)))); ?>
	<?php foreach ($cats as $k => $cat) : ?>
	<?php $items = array(); ?>
	<?php foreach ($list as $item) : ?>
	<?php if ($item->catid == $cat['catid']) : ?>
	<?php $items[] = $item; ?>
	<?php endif; ?>
	<?php endforeach; ?>
	<?php if ($cols > 1) : ?>
	<?php if ($k % $cols == 0) : ?>
	<div class="row">
		<?php endif; ?>
		<div class="col-<?php echo (12 / $cols); ?>">
			<?php endif; ?>
			<?php if ($params->get('groupby_showtitle', 1)) : ?>
			<h4 class="text-primary"><?php echo htmlspecialchars($cat['title'], ENT_COMPAT, 'UTF-8'); ?></h4>
			<?php endif; ?>
			<ul class="list-unstyled weblinks<?php echo $moduleclass_sfx; ?>">
				<?php foreach ($items as $item) : ?>
				<li class="mb-2">
					<?php $link = $item->link; ?>
					<?php
						switch ($item->params->get('target', 3))
						{
							case 1:
							// Open in a new window
							echo '<a href="' . $link . '" target="_blank" rel="' . $params->get('follow', 'nofollow') . '">' .
							htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8') . '</a>';
							break;
							case 2:
							// Open in a popup window
							echo "<a href=\"#\" onclick=\"window.open('" . $link . "', '', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=550'); return false\">" .
							htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8') . '</a>';
							break;
							default:
							// Open in parent window
							echo '<a href="' . $link . '" rel="' . $params->get('follow', 'nofollow') . '">' .
							htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8') . '</a>';
							break;
						}
					?>
				</li>
				<?php endforeach; ?>
			</ul>
			<?php if ($cols > 1) : ?>
		</div>
		<?php if(($k + 1) % $cols == 0 || $k == count($cats) - 1) : ?>
	</div>	
	<hr />
	<!-- Social icons -->
	<ul class="text-center social-icons">
		<li class="social-icon-facebook"><a target="_blank" href="#" aria-label="facebook"><span class="fa fa-facebook" aria-hidden="true"></span></a></li>
		<li class="social-icon-twitter"><a target="_blank" href="#" aria-label="twitter"><span class="fa fa-twitter" aria-hidden="true"></span></a></li>
		<li class="social-icon-pinterest"><a target="_blank" href="#" aria-label="Pinterest"><span class="fa fa-pinterest" aria-hidden="true"></span></a></li>
		<li class="social-icon-youtube"><a target="_blank" href="#" aria-label="Youtube"><span class="fa fa-youtube" aria-hidden="true"></span></a></li>
		<li class="social-icon-linkedin"><a target="_blank" href="#" aria-label="LinkedIn"><span class="fa fa-linkedin" aria-hidden="true"></span></a></li>
		<li class="social-icon-dribbble"><a target="_blank" href="#" aria-label="Dribbble"><span class="fa fa-dribbble" aria-hidden="true"></span></a></li>
		<li class="social-icon-instagram"><a target="_blank" href="#" aria-label="Instagram"><span class="fa fa-instagram" aria-hidden="true"></span></a></li>
		<li class="social-icon-behance"><a target="_blank" href="#" aria-label="Behance"><span class="fa fa-behance" aria-hidden="true"></span></a></li>
		<li class="social-icon-flickr"><a target="_blank" href="#" aria-label="Flickr"><span class="fa fa-flickr" aria-hidden="true"></span></a></li>
		<li class="social-icon-vk"><a target="_blank" href="#" aria-label="VK"><span class="fa fa-vk" aria-hidden="true"></span></a></li>
		<li class="social-icon-skype"><a href="skype:#?chat" aria-label="Skype"><span class="fa fa-skype" aria-hidden="true"></span></a></li>
		<li class="social-icon-whatsapp"><a href="whatsapp://send?abid=#&text=Hi" aria-label="WhatsApp"><span class="fa fa-whatsapp" aria-hidden="true"></span></a></li>
	</ul>
	<hr />   
	<!-- Copyright footer -->      
	<div class="text-center pb-5">
		<?php $config = JFactory::getConfig(); echo 'Copyright <i class="fa fa-copyright"></i> 2012 - '; echo date('Y'); echo (' - '); echo $config->get( 'sitename' ); echo ('- Tous droits réservés'); ?>
	</div>
	<?php endif; ?>
	<?php endif; ?>
	<?php endforeach; ?>
	<?php else : ?>
	<ul class="weblinks<?php echo $moduleclass_sfx; ?>">
		<?php foreach ($list as $item) : ?>
		<li>
			<?php $link = $item->link; ?>
			<?php
				switch ($item->params->get('target', 3))
				{
					case 1:
					// Open in a new window
					echo '<a href="' . $link . '" target="_blank" rel="' . $params->get('follow', 'nofollow') . '">' .
					htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8') . '</a>';
					break;
					case 2:
					// Open in a popup window
					echo "<a href=\"#\" onclick=\"window.open('" . $link . "', '', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=550'); return false\">" .
					htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8') . '</a>';
					break;
					default:
					// Open in parent window
					echo '<a href="' . $link . '" rel="' . $params->get('follow', 'nofollow') . '">' .
					htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8') . '</a>';
					break;
				}
			?>
			<?php if ($params->get('description', 0)) : ?>
			<?php echo nl2br($item->description); ?>
			<?php endif; ?>
			<?php if ($params->get('hits', 0)) : ?>
			<?php echo '(' . $item->hits . ' ' . JText::_('MOD_WEBLINKS_HITS') . ')'; ?>
			<?php endif; ?>
		</li>
		<?php endforeach; ?>
	</ul>
	<?php endif; ?>
</div>  

CSS

ul.social-icons {
  list-style: none;
  padding: 0;
  margin: -5px;
  display: inline-block;
}
ul.social-icons > li {
    display: inline-block;
    margin: 5px 7px;
}
 

Download the override

override-footer-links-j3.zip

Install the override

Enjoy the override

PayPalMe with a beer

web-eau.net

France - 29800 Landerneau

+33 674 502 799

daniel@web-eau.net