Drupal的Taxonomy可以添加多个Term,实现把内容归类的功能,除了可以制作出最简单的数据列表外,还可以把它的列表显示方式变得更漂亮:

在Taxonomy中点击Add vocabulary添加新的vocabulary,取名为Category

在Category中新增Term,取名为News

Create content新建一个类型为Story的内容

由于添加了Category vocabulary,所以在内容编辑页会多了一个Category的选项,这时选择News,就可以把内容归到News一类

通过以上过程之后,已经访问列表了,Path为taxonomy/term/% (%为ID值),全访问地址为http://www.dsjz.cn/taxonomy/term/1。

ID是Term ID 的值。可以进行addmenu操作时把taxonomy/term/1作为path填写,来显示在menu上。

可以通过模板来定制term列表的外观,一般使用node.tpl.php这样的命名,如果要针对指定某个文章类型的模板,可以用node-story.tpl.php,story是一种文章类型,如果是blog,则模板为node-blog.tpl.php。(注:所有内容类型都是node)

另外page-node.tpl.php也是一个node模板,与node.tpl.php分别在于node.tpl.php指多个node的列表页,而page-node.tpl.php是单个node的模板,也就是内页(fullnode)或者编辑页(edit node)。

与CCK结合使用,可以添加新的字段到内容类型上,通过修改模板文件来输出新的字段,而且taxonomy term列表有分页功能,能满足大多数列表需求。

在content type的Manage fields里可以添加新字段,字段类型可以添加CCK字段插件来增加。Display fields用于决定Full node页与Teaser页的字段呈现方式。(注:Teaser即为taxonomyterm页)

如果需要给Teaser页添加自定义字段,可以在主题的template.php中添加mytemplate_preprocess_node函数,利用它可以在node.tpl.php及其相关模板输出前进行代码注入。也可以通过Content Template模块来定制输出模板,不过这方法对于开发者来说不便,也增加了模块数目。

缺点:taxonomy terms可以定制字段与呈现方式,它通过taxonomy_term_page函数查询数据并生成HTML输出,但它只可以指定TermID与深度,无法以更多的条件来定制数据。要得到更高级的数据列表,就只能用其他方法得到数据。

取代方法1:使用SQL提到查询数据,再使用theme函数调出模板输出到页面上。这个方法比较灵活,效率相对高,不过会增加相当多的代码量,如果列表定制过多不易于维护。

取代方法2:Views。Views是Drupal上数据提取解决方案,提取数据相当灵活。而且默认有几个Views List可用,其中的taxonomy_term就是用于取代taxonomyterm的列表。开启taxonomy_term后,会使node-view-taxonomy_term.tpl.php文件可用。也可以通过编辑taxonomyterm的views来修改数据排序等。

最好的方式是通过Views来改变或者添加要显示出来的内容,简单直观快捷,很方便的。

drupal node 显示不同字段 node.tpl.php,修改Drupal Taxonomy Term列表显示方法相关推荐

  1. win11的文件属性默认显示全部,Windows11右键菜单修改为Win10模式的方法(手把手详细操作)

    win11的文件属性默认显示全部,Windows11右键菜单修改为Win10模式的方法(手把手详细操作) 文章目录 win11的文件属性默认显示全部,Windows11右键菜单修改为Win10模式的方 ...

  2. node 大写_大写Node.js模块

    node 大写 Today, let's see a third party module that helps us in working with upper-case letters witho ...

  3. mac node repl_如何使用Node.js REPL

    mac node repl The author selected the Open Internet/Free Speech Fund to receive a donation as part o ...

  4. mac怎么查node版本_Mac更新node版本和npm版本

    npm: 查看当前版本: npm --version 更新到最新版 sodu npm install npm@latest -g node: 1.查看当前版本: node -v 2.清除npm当前缓存 ...

  5. 【Node基础入门】----node中间层做接口转发,实现跨域请求

    前言:     起因,接手了一个四年前的老项目(2018年的),项目是前后端分离,并且是由前端用node解决的跨域问题.一个node小白,为了更好的了解项目的搭建以及线上部署,无奈踏上node的学习之 ...

  6. drupal page.tpl.php,Drupal模板变量,主题模板page.tpl.php里面的变量一览

    Drupal模板变量,主题模板page.tpl.php里面的变量一览 要控制网站的排版,就要熟悉page.tpl.php里面的一些常用的变量,这样控制起来就很方便. 最新的drupa 6 page模板 ...

  7. 什么是Node?(What's node) (译)

    ================================================================================ 什么是Node?(What's nod ...

  8. Node.js-sublime text3 配置node.js(ERROR: The process node.exe not found.)

    默认已经安装好sublime.node和npm 1.sublime的node.js插件下载 由于在package control上经常下载失败,所以这里直接从GitHub上进行下载! GitHub下载 ...

  9. ME2N标准报表中加EKKO/EKPO中没显示的字段

    用户提出要在ME2N/ME2M/ME2W/ME3M里加EKKO/EKPO中没显示的字段: 1.现是在结构MEREP_OUTTAB_PURCHDOC里APPEND字段就可以了. SE11中显示结构:ME ...

最新文章

  1. [lua]判断nginx收到的是否json
  2. 充电电池科研大突破:可使用十多年且储存容量几乎不发生退化
  3. sudo apt install ...
  4. 沣西新城大数据产业园:打造大数据全生态链
  5. 2b青年欢乐多之地铁奇幻记
  6. 使用Redis计数器防止并发请求
  7. 线性反馈移位寄存器的输出(未解出)
  8. div html表格样式,table 表格 div + css 样式
  9. 海湾汉字编码表全部_汉字区位码对照查询表-汉字区位码对照表大全下载pdf打印版-西西软件下载...
  10. SCSI设备IO栈与块设备并发机制
  11. 什么叫做股票实时行情接口api?
  12. opcode是什么意思
  13. saas系统需要什么样的云服务器,SAAS系统和云服务器的区别
  14. Ubuntu安装搜狗输入法后修改默认英文输入状态的方法
  15. 春节特辑・戏说天津卫
  16. 乐行天下激光雷达数据口测试
  17. java 通过出生日期算年龄
  18. Springboot项目WebSocket服务中不能注入(@Autowired和@Resoure)报null错误
  19. C#开发体感游戏 Kinect应用知识
  20. 教你一招,让你摆脱ftp工具上因为权限不足而删不了想删除文件夹的苦恼

热门文章

  1. 面试官问:ZooKeeper是强一致的吗?怎么实现的?
  2. 科普:CPU缓存一致性协议
  3. Kafka解析之topic创建(2)
  4. 视频传输面临的挑战和解决之道
  5. 浏览器实验中的故障排除
  6. 不需要SFU实现WebRTC联播实践
  7. 当你不知道发什么表情包的时候...
  8. CentOS6.5下RabbitMQ安装
  9. EasyRTMP实现的rtmp推流的基本协议流程
  10. 发布新的个人博客地址和微信公众号