和joomla模板开发死磕(1)

前言

最近总是在研究joomla基于EF4模板框架下模板的开发,可是总搞不清几个要素的关联关系。比如:模块、位置、布局、风格、模板、菜单项的关联关系,走通这几个要素成了必须解决的问题。于是,静下心来,花些时间,仔细的翻看示例的模板,知道了组件和模块的页面是可以重写的等。直到现在,才算是在开发模板上有了一些眉目,不会不知道从哪里下手了。

本文内容浅薄,文辞粗陋,还望大家包含。

一、模块和位置

1.1 模块和位置的概述

模块就是负责数据整合和数据呈现,是每个小功能集合的单元块。

位置就是布局结构单元,一般网页都分header区、body区、footer区,而body又可以纵向分为left区、content区、right区,如下图:

每一区域还可以细分成若干小区域,这里每一个密闭的单元区域,就称为一个位置。

位置是模板构建时就定义好的。

页面是一张画布,位置就是构图轮廓,模块就是刻画的内容。

1.2 模块绑定位置

一个位置上可以放置多个模块。

比如上图的header区,一般都会放置logo、导航、搜索框等模块。

具体怎么把模块放在对应位置上呢?在这里是由模块去决定的,模块可以绑定一个位置,在模块编辑页面的右侧,选中你要绑的位置,这样就把模块和位置对应起来了。

那么如果同一个模块想在页面多个地方显示这么办,上面说到一个模块只能绑定一个位置。这种情况的解决办法,系统已经给到了-复制模块。同样是在模块的编辑页面,点击“保存并复制”,这样就会新建一个和之前模块一模一样的副本。

为了区别,在新建的副本编辑页面中,可以给副本重新命名。

此副本模块,不会产生新的代码实体文件,只是在系统逻辑中虚构出来的,只为了绑定不同的位置。

二、位置、布局及模板(风格)

2.1 模板-风格

模板在其他系统中也叫主题皮肤,在扩展管理->模板管理->模板管理中编辑文件。

模板的作用就是将模块和位置及布局形成的html实体,再和样式文件关联起来,最终形成页面呈现给用户。

模板将布局和样式通过后台配置将之管理起来,配置完成后的设置数据在模板文件中以数据文件的形式存在,这就是模板风格,每个模板都有一个默认风格,但是可以复制多个,这多个风格可以有不同的样式配置和不同的布局。

2.2 布局

在页面中,位置与位置之间顺序占位比的关系设置,在这里就称为一种布局(在T3和EF4中可以在进行后台配置管理)。

一个风格下可以有多个布局,但是每次只能以一种布局作为默认布局。

布局是在布局构建器中定义出来的,可以新建、复制、编辑、删除。

布局构建器中,拖动位置以更改位置的顺序,点击加减号,以更改在同一纵向区域下的宽度占比。

布局构建器还有控制在不同媒体设备下是否显示位置的功能。

三、菜单

3.1 菜单和菜单项概述

菜单是页面与页面连接的桥梁,也是用户浏览网站的导航。

菜单可以在系统中进行管理。系统中可以新建多个菜单,根据应用场景,菜单可以定义成前后台不同类型的菜单。

菜单可以添加多个有层级关系的菜单项

菜单项就是用来绑定内容的,在菜单项管理编辑页面中,选择菜单项类型,来绑定不同的内容,在前台点击绑定了内容的菜单项就可以为用户呈现对应的内容。

3.2 菜单项和风格

除外链和个别特殊的菜单项类型,其它菜单项的都可以选择模板风格。

不选的话是默认的风格,也就是模版管理->风格管理标★的模板风格。

3.3 菜单项和模块

菜单项还可以设置模块的显示方式,和模块设置的方式一致,从菜单项的编辑页面中,选择“模块分配”标签项,会默认显示所有模块。

显示的列表中包括模块的副本,点击模块名称,进入模块管理界面,之后的设置和模块管理一致。


 

3.4 菜单项和单页

在特定情况下,我们需要用单页来呈现一些内容,比如首页,joomla中没有专门的单页菜单项类型,joomla提供了单篇文章作为单页,在菜单项编辑页面中,选择菜单项类型,在文章管理下选择单篇文章选项。

参考上一节中菜单项和模块,为菜单项配置对应要显示的模块,就形成了自定义的单页。

四、模板重写(override)

在刚研究模板时,想让文章分类列表页按照自己的方式显示内容,就从模块定制入手,自己做查询自己实现分页,苦苦开发了好久,不得要领。最后看示例模板,无意中看见了模板文件中竟然有组件目录,才开始研究这是干什么的。研究明白之后,豁然开朗。

joomla官方模块和组件由于提供升级,升级之后要覆盖原有的修改,这就是我们发现下载的模块和我们使用不符时,我们不能修改模块模板,而是要重写模块模板。我们只在模板中重写了模块的模板,因此模块升级我们的重写内容不受影响。

joomla提供了快捷创建重写模板文件的功能,在扩展管理->模板管理->模板管理,点击编辑“模板名”。

在模板编辑页面中,选择”override”。

可供重写的模块和组件列表就呈现出来了。

选择要重写的模块或组件模板,点击一下,在模板的文件夹中html创建了对应的目录和文件,修改文件就行啦。

之前我想实现自己的文章列表页,只需要在如下目录的文件做出调整即可。

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值