你在这里

如何获得 node 的 body

主标签

本人新接触Drupal 7,问个问题。

如果一个 node 是 basic page 类型,而且知道 nid 和 title,怎么写 MySQL 语句查询到和该 node 对应的 body 文本?

 

谢谢。

Drupal 版本: 

猜你喜欢

给你个建议,先安装一下devel模块:http://drupal.org/project/devel

这是模块和主题开发的利器,帮助你开发。

启用这个模块后,如果你是在node.tpl.php或者基于这个的模板文件,你可以用 dpm($node) 来打印出 $node 这个对象的所有数据,然后你会发现,你可以这样输出body内容:

<?php $node->content['body']['#value']; ?>

Drupal China http://drupalchina.cn

谢谢东方龙马。

我现在只是想把 Drupal 当做文档输入工具,网站还没有迁移到 Drupal 上,我觉得应该无法使用 devel 模块。现在只是想通过纯 MySQL 的查询语句把 body 给查询出来,而不借助 Drupal 模块。不知道是否可行。

我是 Drupal 新手,说错的话请纠正。

谢谢。

Drupal之所以在国外那么流行,很大的原因是因为Drupal的社区开源、开放,有很多人贡献模块和主题、参与核心开发。

Drupal核心已经封装了很多的方法,你只需要按部就班来操作即可。当然,如果你采用自己写sql的方式,也是可以实现,那么你用drupal的意义就没多大了,不如自己写一套程序,自己定义了。

Drupal China http://drupalchina.cn

谢谢龙马。

Drupal 的确强大,我是想把网站迁移到 Drupal 上,但是因为项目时间问题,无法短时间内把网站完全转到 Drupal 上。所以第一步就想只用 Drupal 的数据库,自己写 SQL,第二步再慢慢把网站迁移到 Drupal 上。

如果你知道怎么写这个SQL,请不吝赐教。

谢谢。

你觉得强大吗?

可以使用以下代码:

    SELECT nid, title, body_value
        FROM node
          JOIN field_data_body
            ON node.nid = field_data_body.entity_id
     WHERE type = "article"
          AND status = 1
 ORDER BY created DESC;

参考链接:http://bryceadamfisher.com/blog/ditching-views-sql-part-2

Drupal China http://drupalchina.cn

谢谢龙马,这就是我想要的SQL。以后还要请你多多指点。

顺便问一下,Drupal 看起来挺复杂的,感觉无处入手,不知道有没有简单一些的教程教一步一步做网站的。谢谢。