你在这里

drupal 进阶教程

drupal进阶教程

如何将外部数据导入到drupal?

很多人可能会遇到将现有网站迁移至drupal的问题,下面的内容主要介绍如何将已有的数据迁移至drupal。

批量导入数据到drupal的方法其实也有很多,例如csv格式文件的导入,通过别的站点抓取到得信息,整合别的系统时,相互数据的迁移都要用到这些内容。我们建立一个简单的模型,只考虑节点基本数据,不考虑其他因素(比如节点图片,节点术语分类等等),将模型简单化 有助于我们解决问题。

以拿抓取页面为例,我们使用正则表达式过滤出需要的信息后,将其存放在一个一维关联数组中,其中键对应数据库中的节点字段,比如 title,body,name等。然后我们手动调用node_submit方法,将一维数组传进去,这个方法会对我们的数组做一些存表之前的工作,我 们直接可以在api.drupal.org查看这个方法的代码。

{syntaxhighlighter brush:php}

评分: 

如何正确添加CSS、Javascript 到drupal

通常建议最佳的方法是在theme 下的.info文件里加入类似:

scripts[] = js/custom.js
stylesheets[all][] = css/custom.css

你可以加第三方的 js/css, 例如 jquery ui, fancybox 之类。

如果你看到你的page.tpl.php 有<script type="text/javascript" src=""></script>你可能会考虑用以上的方法include了。

Note1: 路径是相对到theme 的文件夹。

Node2: 它们会被优化的, 如果你开启了压缩 js/css 文件(在“管理”-“站点设置”-“性能”下的“带宽优化”中)的话。

评分: 

drupal 如何添加RSS Feed

输出 RSS Feed (供稿种子)已经成为许多网站的标准功能,drupal 作为世界上最受欢迎的站点框架“内容管理系统”(CMS)之一,当然也有输出 RSS Feed 的功能。但是 drupal 自带的输出 RSS 功能不太完善,很不方便自定义。如果想自己制作 Feed,比如为某个分类的文章单独发布 RSS,或是为评论生成 Feed,要怎么做呢?我搜了一下,在网上居然没有找到完整介绍的文章,所以我就自己来写一篇如何为 drupal 站点烧制 RSS Feed 的简单教程吧。

一、容易误解的地方

在 drupal 的“模块”(module)设置中,有一个“聚合内容(RSS、RDF 与 Atom feeds)”(aggregator)。一般人很容易以为这个就是负责生成 RSS 的模块。我开始也是这么想的。摸索了半天才发现,这个 aggregator 并不是输出 RSS 的模块。恰恰相反,它其实是一个阅读器。开启了 aggregator 模块之后,就可以订阅其他站点的 RSS Feed,并以自定义的形式显示在自己的 drupal 站点上。所以,如果你想做混烧网站(mashup),利用别人站点的内容搭自己的网站,倒可以试试 aggregator 模块。

评分: 

Drupal SEO:修改.htaccess 文件

如果要对基于 Drupal 建立的网站进行 SEO (Search Engine Optimization——搜索引擎自然结果优化),那么就一定要尽量避免网站内的重复页面。因为当搜索引擎的爬虫抓取到大量的重复页面时,搜索引擎就会降低对网站页面的打分,当然这种影响可能并不太容易被察觉。

当我们使用 Drupal 时通常会碰到这样的问题,例如:页面 http://www.drupalgarden.cn/node/34 和页面 http://drupalgarden.cn/node/34显示的是相同的内容。或许您会认为这是大惊小怪,但事实上这是两个独立的页面,它们的内容重复,这一点对 SEO 不利。好在 Drupal 开发者早已为我们考虑到了这点,只要做个略施小计就能唤醒这个功能:) 

注意:本文只针对拥有一级域名的网站,二级域名的网站不存在这个问题。

默认安装下 Drupal .htaccess 配置

Drupal 默认的 .htaccess 为我们提供了两种解决方案:

评分: 

自定义drupal 注册表单

drupal默认用户注册表单中只有用户名称,帐号密码,邮箱等字段,如果想对用户做一些好的交互,必须要用到用户一些稍微详细的信息,而drupal的hook_user可以很方便的让我们添加这些信息,比如我的站点要给用户加入性别、详细地址和个人简介,我们可以实现user钩子如下(我的模块叫snippet):

注:本人对于字符串都没有加t函数做翻译,是为了提高速度,需要的用户可以适当修改。

 

评分: 

关于多站点安装的总结

无图版,以后再配图

一些相关资源:

评分: 

关于汉化不完全的解决方案

对于第三方的模块和主题很多都是国外的人开发的,在使用时难免会遇到很多是英文字符的问题,在做中英双语或者多语言时候,都常会遇到这个问题。现在有2个模块可以供参考使用。

1.Translation table模块

下载地址:http://drupal.org/project/translation_table

评分: 

cck和gmap配合的简单例子

大家好,我是Lester
这次要和大家共同学习的内容是:如何使用cckgmap模块相配合,为node输出一个地图字段。
 
评分: 

获取路径别名的函数--drupal_get_path_alias()

includes/path.inc ,行96

评分: 

如何制作三栏风格

问:请问如何制作三栏风格,即在主体区域进行两栏风格。如:http://drupal.org/support 的主体部分。

评分: 

页面

订阅 RSS - drupal 进阶教程