< 返回 11.5 重写模块输出-v0.0.16版本 - C计划

在本节我们将介绍如何来重写模块的输出,并且实现一个带有徽标的文章列表。

1,本节目标


如何来重写模块的输出

2,模块的目录


为了便于管理和修改,Joomla的模块也是按照MVC架构设计的。模块的英文单词是module.在Joomla的安装目录下,我们可以看到一个文件夹modules。这个文件夹中存放了所有的模块文件。所有的模块文件夹都以mod_模块的名字这种方式来组织。如图:

3,如何重写模块的输出


 在模板中重写模块的输出步骤如下:

  • 确认你的模板的根目录下有一个html文件夹。如果没有,那么就新建。
  • 确认你需要重写的模块。比如新闻轮播模块(mod_articles_news),那么就在html下面新建一个文件夹,并取名为mod_articles_news
  • 确认你需要重写的布局。比如默认的布局(default.php),那么就在mod_articles_news下面新建一个default.php文件。
  • 一切OK后,你在default.php文件中按照你的要求重写即可。

温馨提示:一般我们会从原先的布局中直接复制一份,然后再来做修改而不是完全新建。

planc模板重写新闻轮播模块(mod_articles_news)默认布局文件夹结构如下:

 

4,v0.0.16版本


在本版中,我们在模板的html中重写了新闻轮播模块(mod_articles_news)默认布局,使得其输出我们期待的带有徽标的列表方式

4.1 代码片段如下:

<div class="newsflash<?php echo $moduleclass_sfx; ?>">
	<?php $i=0;?>
	<?php foreach ($list as $item) : ?>
		<?php $i++; $badge="";?>
		<?php if($i<=3){$badge ='<span class="badge">最新</span>';}?>
		<?php if ($params->get('item_title')) : ?>
		<?php $item_heading = $params->get('item_heading', 'h4'); ?>
		<<?php echo $item_heading; ?> class="newsflash-title<?php echo $params->get('moduleclass_sfx'); ?>">
		<?php if ($item->link !== '' && $params->get('link_titles')) : ?>
			<a href="/<?php echo $item->link; ?>">
				<?php echo $item->title; ?><?php echo $badge;?>
			</a>
		<?php else : ?>
			<?php echo $item->title; ?><?php echo $badge;?>
		<?php endif; ?>
		</<?php echo $item_heading; ?>>
	<?php endif; ?>

	<?php if (!$params->get('intro_only')) : ?>
		<?php echo $item->afterDisplayTitle; ?>
	<?php endif; ?>

	<?php echo $item->beforeDisplayContent; ?>

	<?php if ($params->get('show_introtext', '1')) : ?>
		<?php echo $item->introtext; ?>
	<?php endif; ?>

	<?php echo $item->afterDisplayContent; ?>

	<?php if (isset($item->link) && $item->readmore != 0 && $params->get('readmore')) : ?>
		<?php echo '<a class="readmore" href="' . $item->link . '">' . $item->linkText . '</a>'; ?>
	<?php endif; ?>
	<?php endforeach; ?>
</div>

4.2 执行的效果

4.3 v0.0.16版本的代码

关于v0.0.16版本的代码,可以在此下载[下载文件:]tpl_plancv0.0.16_2019-01-18_for_j3x.zip

C计划

第3章:Joomla模板机制
第13章:让模板支持多语言
  • 内容提要
  • 留言讨论 (0)
  • 视频教程
在本节我们将介绍如何来重写模块的输出,并且实现一个带有徽标的文章列表。

评论 (0)

  • 最新在前
  • 最佳在前

内容待完善

该课程提供视频版,可以观看完整的视频教程