如何使用Drupal报告在Drupal之外处理的数据表?

时间:2011-03-10 10:03:56

标签: php drupal drupal-6 drupal-modules

是否有可用于此目的的模块或模块集。我使用Drupal之外的sql脚本等处理数据。我已经读过View和CCK的组合可以工作,但它涉及再次设置每个单独的字段(在CCK内)。我已尝试在块内使用PHP代码,但显示选项有限。我是否必须创建一个新模块?

1 个答案:

答案 0 :(得分:2)

使用CCK这是一个非常糟糕的主意。

  1. CCK只能处理它创建的确切数据库架构。在现有数据库体系结构上使用现有CCK字段几乎是不可能的。
  2. CCK根据其配置更改数据库布局。例如。使字段“多个”,或者重新使用另一个内容类型的字段将彻底重新排序和规范化数据库:创建新表,删除列等等。
  3. 您的外部脚本需要考虑所有这些因素。唯一合适的方法是通过CCK API处理所有内容,包括编写cron实现或drush脚本。

    这给你留下了一个非常好的选择:创建一个模块,它定义了自己的内容类型。这样的模块有机会以任何方式定义所有字段(无CCK,只有$node->foo)。

    这是一个很好的模式,例如创建具有外部服务内容的节点。比如说,$ node-> price字段,从某些外部SOAP服务中检索价格。

    当您拥有旧数据库时,这也是一个很好的模式,您需要从中读取,写入或更新数据。 这种方法的另一个好处是您可以轻松限制操作:例如readonly,或create& read但没有更新。 CCK不允许这样做(很容易)。