Drupal专家博客 - 互联国际科技集团有限公司官方博客

介绍和研究Drupal技术,推动Drupal开源事业在中国的发展。

使用drupal_write_record()函数添加记录到Drupal的数据库表

作者:老梁 日期:2013年5月23日

今天让我们为昨天创建的Drupal数据库中的custom表添加一条记录。先看代码:

$record = new stdClass();
$record -> content = t('测试内容的文本');
drupal_write_record('custom', $record);

关于stdClass大家可以参考胖子的这篇文章《理解PHP中的stdClass类》。写的非常好,我就不废话了。

drupal_write_record()函数的作用是将记录添加到指定的数据库表,第一个参数是表的名称,第二个参数是待添加的内容。由于custom表中的cid字段是自增的serial,所以我们只需要指定content字段的内容就可以了。需要特别注意的是:$record也可以使用数组形式,感兴趣的朋友可以自行尝试一下。

使用hook_schema()钩子函数创建Drupal的数据库表

作者:老梁 日期:2013年5月22日

Drupal为开发者提供的Schema API可以帮助我们大大简化Drupal数据库的开发工作。今天为大家演示一个创建Drupal数据库表的例子。我们的Drupal模块名称为mymodule,要创建的数据库的表名称为custom。该表有两个字段cid和content,前者是一个自增的无符号serial字段,后者是一个文本字段。需要用到的钩子函数是hook_schema(),它应该放置在mymodule.install文件中。这样,当mymodule模块被启用时,custom表将被创建;当mymodule模块被卸载(注意:是卸载而不是禁用,如果只是禁用模块,那么表和数据并没有被删除)时,custom表将被删除。

下面是代码的例子:

入门好书《Drupal7基础》

作者:老梁 日期:2013年5月21日

《Drupal7基础》封面

今天为大家介绍另一本学习Drupal的入门好书《Drupal7基础》(Foundation Drupal 7)。这本书和前几次介绍的几本入门书籍最大的特点是:贯穿了Drupal网站建设项目整个流程的几乎所有基本知识。

一般的Drupal入门书籍往往只是介绍Drupal的安装,基本概念,模块配置,选择主题,上线运行等知识。而《Drupal7基础》除了提供以上内容,还为我们带来了很多丰富的知识。如:需求分析阶段的原型线框图等社区工具;图形设计阶段的photoshop和illustrator的使用;网站运营阶段的搜索引擎优化。甚至连Drush都为大家做了介绍。

这么说吧,《Drupal7基础》一书相当于一本迷你版的《Drupal7权威指南》。不过,缺点还是有的。由于本书面向的读者是初学者,因此不包含程序设计的内容。而且在模块配置部分的内容稍显单薄。建议大家搭配《使用Drupal》一书阅读。

将Drupal的节点添加或编辑表单放在区块中

作者:老梁 日期:2013年5月19日

Drupal Advanced Form Block模块的管理界面

这是Drupal网站建设中很常见的需求,Advanced Form Block模块可以帮助我们很方便的实现它。

首先我们像使用其他Drupal模块那样安装并启用它。然后点击后台管理菜单中的“Advanced Form Block”链接,就可以看到模块的配置管理界面了。我们选择标题,区块类型等信息后点击Create按钮即可创建区块。

现在,已经可以在区块管理页面中看到我们刚创建的区块了。可以进入该区块的配置界面,选择我们希望显示的字段和垂直tab选项。最后将区块放置在Drupal的某个区域中就完成我们的任务了。

使用Drupal主题函数输出render元素

作者:老梁 日期:2013年5月17日

drupal主题函数theme_item_list输出render元素

今天这个例子结合了Drupal主题函数与render的概念。前者用于输出小片数据为html(输出大片数据时建议使用模板),后者用于组织待输出的数据,以便于我们今后更方便的使用hook_page_alter()钩子函数修改这些数据。这个例子的具体需求是:使用theme_item_list()主题函数输出一段列表。老规矩:我们的Drupal模块名称为mymodule,下列所有代码放置在mymodule.module文件中。

推荐一篇PHP开发工具的评测文章:How I Chose My Programming Editor

作者:老梁 日期:2013年5月16日

How I Chose My Programming Editor

可用的PHP开发工具实在太多了,很多新手朋友往往会选晕了头。我今天为大家推荐一篇文章:How I Chose My Programming Editor。文章的作者花了很多时间试用了市面上几乎所有的PHP开发工具,并做出了中肯的评价。他最后的选择是Geany和Netbeans。

我个人更推荐大家使用Netbeans,因为Geany毕竟不是一个专业的PHP IDE。另外需要注意的是PhpStorm,虽然综合来说它比Netbeans要稍好一点,不过我认为不足以为了一点点优势而花费99美刀。

文章的链接在这里

这篇文章还有一个《正體中文的完整翻譯版本》,可惜我上次看到以后忘记放进收藏夹了,现在找不到链接地址了。感兴趣的朋友可以自行Google一下。

Drupal上下文链接简介以及自定义实例

作者:老梁 日期:2013年5月15日

Drupal的上下文链接

  • 上下文链接在Drupal的什么地方?某些Drupal页面元素(如:区块,列表)右上方的齿轮。
  • 上下文链接有什么作用?让用户快速执行某些任务,可以当作一种快捷方式。
  • 哪些人可以使用上下文链接?拥有Use contextual links权限的Drupal用户。

下面介绍一个自定义Drupal上下文链接的例子:

Drupal数据库操作:增删改查实例

作者:老梁 日期:2013年5月14日

SQL增删改查

增删改查是最常见的数据库操作,今天我为大家简单演示一下在Drupal中如何实现它们。

:查询Drupal网站管理员帐号的名字

db_query('SELECT name FROM {users} WHERE uid=:uid', array(':uid' => 1))
  ->fetchField();

或者这样:

db_select('users', 'u')
  ->condition('uid', 1)
  ->fields('u', array('name'))
  ->execute()
  ->fetchField();

:增加一条记录到Drupal数据库中的history表

Pages