将SQL CREATE TABLE查询转换为Drupal内容类型

时间:2011-03-11 10:01:18

标签: php mysql drupal

我知道Drupal有Content Construction Kit,它提供了一个在Drupal中添加新内容类型的有用UI。但是,我发现创建大型新内容类型非常缓慢而且很痛苦。

原因

我想创建一个内容类型,这样我就可以将所有数据转换为节点,从而将其公开给视图,并且能够拥有一个用于更新节点的良好UI。

可能吗

  1. 是否有任何模块可以将sql查询“转换”为hook_form()等效?
  2. hook_form()会将其公开给Views吗?
  3. 还有其他想法吗?
  4. 干杯

    加里


    只是要转换的100多个表sql查询的一个示例 想象痛苦;不眠之夜,在CCK创建每个领域的地板上绊倒发束

    CREATE TABLE `files` (
      `file_id` int(11) NOT NULL auto_increment,
      `user_id` int(10) NOT NULL default '0',
      `file_author` varchar(255) NOT NULL default '',
      `file_email` varchar(255) NOT NULL default '',
      `file_type` varchar(100) NOT NULL default '',
      `file_name` text NOT NULL,
      `file_file` varchar(255) NOT NULL default '',
      `file_url` varchar(255) NOT NULL default '',
      `file_desc` text NOT NULL,
      `downloads` int(11) NOT NULL default '0',
      `file_date` int(11) NOT NULL default '0',
      `file_review` text NOT NULL,
      `screenshot` text NOT NULL,
      `updated` int(12) NOT NULL default '0',
      `update_notes` text NOT NULL,
      `author_desc` text NOT NULL,
      `sub_author` varchar(50) NOT NULL default '',
      `version` varchar(10) NOT NULL default '',
      `mirc_version` varchar(10) NOT NULL default '',
      `reviewer` varchar(50) NOT NULL default '',
      `posted` int(1) NOT NULL default '1',
      PRIMARY KEY  (`file_id`),
      KEY `user_id` (`user_id`),
      KEY `file_author` (`file_author`),
      KEY `file_type` (`file_type`),
      KEY `downloads` (`downloads`),
      KEY `file_date` (`file_date`),
      KEY `updated` (`updated`)
    ) ENGINE=MyISAM AUTO_INCREMENT=4544 DEFAULT
    

2 个答案:

答案 0 :(得分:0)

hook_form()实际上并不是一个钩子,但它只是生成表单,而不是处理存储。

如果要管理自定义存储以避免CCK,则必须通过schema API声明表,然后在hook_nodeapi()或自动调用的提交回调中处理要执行的操作。 / p>

祝你好运。

答案 1 :(得分:0)

如果您要从Drupal(视图)访问现有数据,我建议使用以下解决方案之一:

  1. 使用Migrate module
  2. 创建CCK内容类型并导入数据
  3. 使用Table Wizard module
  4. 将数据提供给视图