在Drupal页面中添加自定义的JS和CSS是很简单的,但是在选择一个适合的方法的时候会有些凌乱。
通过本篇文章,让我们来一起总结一下在你的主题/模块中引入或者管理CSS/JS的7种方法。
1. drupal_add_css(),drupal_add_js()
这是大多数开发者最常用的方法。
优点
- 易用,可以用在任何你想放的地方;
- 可以插入行内CSS、JS;
- 易于查文档;
- 添加的文件可以缓存;
- 支持一些条件(比如browser,media等)。
缺点
- 能够在代码中看到,有时候并不期望如此;
- 引入多个文件比较麻烦;
- 如果CSS/JS名字改了就要将代码中所有地方出现的名字全部替换。
2. 在 .info 文件里引入
优点
devel_themer是drupal主题开发的一款利器,使用此工具,可以看到指定区域的渲染流程。下面是具体使用方法
1、下载 devel_themer、 devel、simplehtmldom
https://www.drupal.org/project/devel_themer
https://www.drupal.org/project/devel
http://ftp.drupal.org/files/projects/simplehtmldom-7.x-1.12.zip
(注意simplehtmldom必须使用7.x-1.x,否则看不到效果,此处折腾很久,在@东方龙马大哥的指点下终于搞定,在此感谢龙马大哥,其实官方网站也有说明:
在D8的配置---默认首页中,如果把node取消掉,输入域名就会直接跳转到域名+USER,即首页显示user显示,而非文章信息列表。
如果想显示默认文章和D7一致,这里就不要修改啦!
- 阅读更多 关于 drupal8首页设置
- 登录或注册以发表评论
请问drupal程序有“下载”模块吗?谢谢!
打个比方,我在主页导航栏点击“下载”模块,就可以进入类似于"天空软件站"一样的下载页面,页面里面可以介绍软件详细信息和插入视频或图片等等,具有这样的功能。
在做Drupal开发的时候,经常会遇到添加JavaScript,本文将以Drupal7下版本为例,介绍Drupal 中添加 JavaScript 的几种方法,供您参考!
1. 前端所有页面添加JavaScript
这种通常推荐在当前主题目录的.info文件里添加,比如我们当前的主题是drupalchina,想添加一个script.js的JS文件,那么我们就在drupalchina.info 文件里添加如下代码:
; Add javascript to current theme scripts[] = js/script.js
备注:这里我们是添加了一个script.js至主题下的js文件夹里。合理组织主题目录下的文件,对于代码管理极有帮助。比如主题目录是这样:sites/all/themes/drupalchina。通常我们会将 JavaScript 放置到 “js”目录,CSS文件文件放置在“css”目录,图片文件放置在“images”目录,模板文件(*.tpl.php)放置在“templates”目录,等等。
2. 在前端指定页面或者内容类型下添加JavaScript
2.1 在指定页面添加JavaScript
2014.10上海大数据采集培训班
一 培训目的
信息的发现 、选择、收藏、组织和分享是图情工作人员最重要的工作之一,尤其是在大数据时代,只有做好这方面的基础工作,才能满足领导的战略决策需要,满足教学科研的需要,满足读者个性化信息服务的需要。
在大数据时代,图书馆员只有快速的向数据科学家和领域专家转变,打破图书馆的传统边界,建立各种数据联盟,才能适应时代的发展。
大数据具有信息种类多,更新速度快,综合价值大等众多特性,如何精选真实、更有价值的信息,更快、更方便的采集、聚合各种信息,进而进行存储、分析是图情工作人员面临的重要挑战。
为此,特举办一系列大数据培训班:虚拟化及云计算、大数据采集、信息可视化、数据挖掘等,首先开办大数据采集培训班。
出现fatal error:call to undefined function context_layouts_get_layouts() in /home/......./context_layouts_reaction_block.inc on line 21 的解决办法:
由于误操作禁用了Context layouts模块,结果网站所有的页面出现以上错误,需要使用drush命令行启用这个模块,但网站放在linux虚拟主机上面,不能安装和使用drush命令,所以只能通过修改数据库来启用模块,操作如下:
1.使用phpmyadmin等工具打开system表
2.找到这个模块(我觉得后来修改的模块似乎应该在最后一页,自己仔细找找,肯定能找到)
3.点击编辑
4.status 改为1就是启用,保存即可
有这方面问题的可以一起交流
"工欲善其事,必先利其器" -- 《论语》
测试模块、主题、发行版的网站:
http://simplytest.me/
Drupal API:
https://api.drupal.org/ (英文,Drupal 官网 API)
http://api.drupalproject.org/ (中文,部分已翻译,感谢理查)
网站必备模块:
https://www.drupal.org/project/admin_menu 管理菜单(替代默认的顶部管理菜单)
https://www.drupal.org/project/module_filter 模块分组(模块列表归类,更加清晰,方便查找)
https://www.drupal.org/project/devel 开发工具模块 (模块开发神器)
么,insert block这款插件的作用是在content中包含某个block的内容,相当方便于实现最新文章列表之类的功能
我用这货做了一个小白用的新闻功能
进入后台,编辑newspage这个内容类型的内容,然后使用views创建一个block
接着安装insert block,并在filter中启用insertblock的解释器
最后在数据库的block表中查找所需的block的module和delta并使用【block:module name=delta】调用该block就完成了!!!
场景: 网站中实现产品分类管理和展示功能。如下图所示,左边是产品分类的导航菜单,点击某条后打开该分类下所有产品的缩略图页面。点击图片,进入对应的产品详情页面。
要求:不懂技术的网站编辑可以很方便的管理产品分类,发布相关的产品文章。
模块:除了使用常见的view等模块之外,主要使用了一下两个模块
- https://www.drupal.org/project/taxonomy_menu
- https://www.drupal.org/project/taxonomy_display
实现:
1、创建产品分类的‘术语表’。
2、创建产品内容节点,编辑员可以用来发布产品文章。其中增加了关联产品分类的字段,用来制定产品的所属分类。增加了图片上传,将提供给缩略图页面使用。
3、创建产品视图。如下图所示,关键点我用红框标注了。主要是要添加上下文过滤器。作用是接收导航菜单传来的参数,使视图显示对应的产品分类。