2011-03-11 58 views
0

我知道Drupal有Content Construction Kit,它爲在Drupal中添加新的內容類型提供了一個有用的UI。但是,我發現創建大型新內容類型非常緩慢且痛苦。將SQL CREATE TABLE查詢轉換爲Drupal內容類型

原因

我想創建的內容類型,所以我可以所有數據轉換成是一個節點,因此將其暴露在視圖和能夠有更新的節點一個好的UI。

可能嗎?

  1. 是否有任何模塊,將「轉換」SQL查詢到它的hook_form() equiv?
  2. 將hook_form()暴露給Views嗎?
  3. 其他想法?

乾杯

加里


只是一個表的SQL查詢的100S的實例要被轉換 想象疼痛;無眠的夜晚,在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 
+0

我處於完全相同的情況;你最終做了什麼來解決它? – 2012-06-07 17:06:20

回答

0

的hook_form()的地板絆倒的頭髮束是不是一個真正的鉤但儘管如此,它只是產生形式,它不處理的存儲。

如果要管理自定義存儲以避免CCK,則必須通過schema API聲明您的表,然後在hook_nodeapi()或提交回調中自動調用您要執行的操作。

祝你好運。

+0

這會暴露給Views嗎? – 2011-03-11 11:18:11

+0

要將數據展示給視圖,您必須實現hook_views_data()等其他鉤子。 http://drupalcontrib.org/api/drupal/contributions--views--docs--docs.php/function/hook_views_data/6 – Artusamak 2011-03-11 11:23:32

0

如果現有數據要從Drupal的(意見)來訪問,我建議這些解決方案之一:

  1. 創建CCK內容類型和使用Migrate module
  2. 導入數據把數據提供使用視圖Table Wizard module
+0

要點是,我不想通過CCK GUI並創建每個字段。單擊「添加」,移動到下一頁,輸入詳細信息等,單調乏味。點擊向導不是一個選項,因爲它沒有被移植到Drupal 7,而且「超大」的數據模塊也不是D7兼容的。我沒有要求點和點擊解決方案,我不介意編寫一些代碼,但是爲我的drupal模式重寫所有的mysql表格......來吧,肯定有一個模塊在那裏?! – 2011-03-11 12:12:03

+1

對,我明白了。前段時間,我需要一個內容類型與很多類似的字段,但我不想通過所有的點擊。我創建了一個內容類型,並且只添加了每種類型的一個字段。接下來,我將內容類型導出到代碼中,在文本編輯器中複製這些字段(確保每個字段都有唯一的名稱)並將其導入Drupal。也許這也適合你... – marcvangend 2011-03-11 20:45:44