11.5 重写模块输出-v0.0.16版本

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

1,本节目标


如何来重写模块的输出

2,模块的目录


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

joomla模块的文件夹结构

3,如何重写模块的输出


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

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

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

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

 joomla重新模块布局

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 执行的效果

joomla重写模块效果

4.3 v0.0.16版本的代码

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



作者:张敏
原文:http://www.joomlachina.cn/articles/1821-jiaocheng/joomla-plan-c/1555-first-template-27?tmpl=component&zhuanti=1

Joomla模板开发教程

获取最新资讯

© 广州市番禺区新造草云信息技术咨询服务部版权所有。
粤ICP备13002429号.

Joomla系列教程

站内链接