Drupal 常见问题100 问
经常在Drupal群里提出这样和那样的问题,有的问题是重复了很多次,为了能节约大家的时间,对于在学习Drupal中遇到的问题,简单做个归纳,题就定为Drupal常识一百问。文章编排的顺序可能不是很有规律、或者有可能不是先易后难,暂时先做个罗列,等资料多了的时候再整理吧。
1. 如何安装drupal?
Drupal学习之前自然是搭建drupal的工作环境,然后安装drupal啦!
这第一问就是:
一、如何安装drupal?
答:对于drupal的开发环境,只要是适合php的就可以了。笔者推荐安装XAMPP集成开发环境,简单易操作。XAMPP的安装就不作介绍了,开发环境的配置可以参考本站的《如何配置XAMPP的本地工作路径》一文。
环境搭建好以后就可以安装drupal啦。这里以drupal6的安装为例:
1.将sites/default下的default.settings.php复制一份,并重命名为settings.php
2.通过phpmyadmin创建一个数据库,名字自己定义,如drupal。
3.地址栏输入drupal项目的工作路径,如http://localhost/drupal ,即可开始drupal的安装了。
下面按部就班安装下去,基本就没问题了。详细安装教程参见《Drupal6 入门系列教程—drupal6 安装简明图文教程》。
2. 当站点离线后,如何登录drupal 后台?
问题:当站点离线后,如何登录drupal 后台?
回答:对于初学者来说,一般都会遇到这个问题,那就是一不小心将网站离线了,却怎么也找不到进入drupal后台的入口.
如果稍微了解一下,就会发现,其实只要在你的站点后面加一下“/user”(前提是开启了简洁链接哦),如果没有开启简洁链接的话,你就需要再前面加上“q=?”,也就是“/?q=user”。
假如你的域名是:www.a.com的话,那你就可以通过www.a.com/user 或者www.a.com/?q=user 。
有些人可能用的是windows的IIS,简洁链接也没有开的话,那么可能要这么输入了:www.a.com/index.php?q=user
3. 如何获取当前页面的路径?
问题:如何获取当前页面的路径?
回答:
参考代码如下:
function current_path() {
return $_GET['q'];
}
Returns the current URL path of the page being viewed(返回当前浏览页面的URL路径)。
4. Drupal 中文参考书有哪些?
问题:
对于初学者看英文资料有些吃力,能否介绍一些简单点的Drupal中文方面的资料呢?
回答:
1、目前大陆还没有出版Drupal方面的中文书,2009由Thomas组合了howell和我编写了一本《Drupal6 水滴架站全机能攻略》,由台湾基峰出版社出版。
2、由老葛翻译的《Drupal专业开发指南(Drupal6版)》,对于不懂编程的人来说,看起来比较吃力一些,不过对drupal的整体认识,会起到很大的作用,如果你是PHP程序开发者,这本书将是你Drupal之门的“葵花宝典”。
3、http://www.verynic.com 这个站的站长发起的翻译《Using Drupal》,目前已翻译第一章-第八章,第十一章。
4、adrupal翻译的《学习Drupal 6 模块开发》(英文名:Learning Drupal 6 Module Development),第一章 - 第九章翻译完毕。
附件 | 大小 |
---|---|
using-drupal.jpg | 72.36 KB |
5. 如何配置drupal 的简洁链接
示例:drupalgarden.cn/?q=user ,drupalgarden.cn/user,后者就是简洁URL,去掉了“?q=”的URL。简洁URL的好处,SEO。
这里以XAMPP集成安装包为例,介绍如何配置简洁链接:
1、 F:\xampp\apache\conf,在该目录下找到httpd.conf文件,打开,找到#LoadModule rewrite_module modules/mod_rewrite.so。
将前面的注释符“#”去掉。
2、把F:\xampp\apache\conf\apache conf里面的AllowOverride None改为了AllowOverride All,试了一下
<Directory "F:/xampp/htdocs">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks Includes ExecCGI
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
6. 内容类型page 和story的区别
分别创建一个Page节点,和一个Story节点,并比较它们之间的区别。
答案:
Page和Story节点类型,是Drupal自带的两种节点类型,在Drupal7中,story被更名为了Article。
Page主要应用于静态的页面,而Story则应用于动态性的文章,比如部门的新闻,对于个人博客网站,如果是单人博客的话,一般用Story作为博客。Page没有节点的发布信息,而Story有。
Page默认是不会被推到首页的,而Story默认被推到首页。Page默认是禁止评论的,而Story则允许评论。从这几点可以看出,Story更具有交互性。