首页 / 帖子
有那些方法可以让Drupal页面的HTML更简洁?

据我所知,可以让Drupal页面HTML更简洁,没有冗余代码的方法包括:

1、调用Drupal API直接生成HTML,如直接通过API获取block,然后print出来;

2、覆写Drupal的模板,例如page.tpl.php,block.tpl.php等。

特别是在用到panels、view等模块的时候,覆写会非常麻烦,特别是在每个页面都不一样的样式的时候,调用API就会影响Drupal的用户体验。


请问还有其他更方便的方法吗?


6个答案
老葛
发布于:2014-05-15 17:05

输出简洁HTML的方法,除了题主说的方法之外,我还能想到的方法就是在使用drupal的时候尽量多的使用service等类似“中间层”的东西,负责输出数据,然后前面自己写展示相关的html,当然,功能页面(类似登录注册页面)可能不太适用,如果要用简洁html,则可能需要自己做登录注册的预处理过程,这样简洁的html表单提交到处理脚本,处理脚本去把数据送给drupal然后返回状态等,基本上就相当于外面是一个自己写的html+...+php的壳,里面是drupal。

简单说就是: HTML层-》处理层(自己写的php脚本)-》drupal

当然,实际操作的时候会各种各样的可能,这里仅提供一个思路。

YOYO
发布于:2014-05-15 17:31

尽量少用theme函数,甚至不用theme layer,完全把drupal当作一个api库使用,完全自己控制输出

YOYO
发布于:2014-05-15 21:45

个人感觉除非不用drupal的第三方模块、只用api。

你说的views、panels,想用还不想要其输出的HTML,那就没法办。

所以,没有太好的办法了。并且html牵扯到css、js等前端,一重来都得重来。

王斌
发布于:2014-05-15 22:07

Drupal的灵活性就是双刃剑,你要简洁就需要放弃一些东西,比如不使用Panels, Views。如果你用了,哪怕可以实现也是比较麻烦的。


所以我的观点是要对冗余代码有一定的容忍,如果不能容忍,就什么都实际实现吧。

闻涛
发布于:2014-07-16 07:45

看下clean_markup模块吧

陈蹊
发布于:2014-11-04 15:51

我现在也感觉到用views的方便的同时也带来了很多代码,还有css等等。鱼和熊掌不可兼得啊。