2013-02-06 100 views
0

美好的一天,啓用掛鉤形式改變模塊 - 不顯示模塊

我做一個hook_form_alter和遵循的教程,你在你的/網站/所有/ modules目錄創建一個目錄並放置module.info起來和mymodule.module文件。我已經調用了該目錄mymodule,所以路徑將是/ sites/all/modules/mymodule。

我遇到的問題是試圖啓用該模塊。當我檢查時,它不會顯示在模塊列表中。這顯然在我的目錄中。

我模塊(my_module.module)看起來是這樣的,並會被用來修改在其中添加產品的形式(基本上取出SKU,標價及佣金):

<?php 
// $Id$ 

/** 
* @file 
* Module to hold my customizations to Ubercart 
*/ 

/** 
* Implementation of hook_form_alter() 
*/ 
function my_module_form_alter($form_id, &$form) { 
    if ($form_id == 'product_node_form') { 
    $form['base']['model']['#required'] = FALSE; 
    $form['base']['prices']['list_price']['#required'] = FALSE; 
    $form['base']['prices']['cost']['#required'] = FALSE; 
    $form['base']['prices']['sell_price']['#required'] = FALSE; 
    $form['base']['prices']['shippable']['#required'] = FALSE; 
    } 
} 

而且信息文件,my_module.info,看起來是這樣的:

; $Id$ 
name = My module 
description = My customizations to Ubercart 
package = Custom 
core = 7.x 

爲什麼會不會在模塊列表中顯示出來,如何讓Drupal的查看模塊,所以我可以啓用它? 我沒有一個名爲Custom的類別,沒有任何顯示。

到目前爲止,我已經進入了我的php.ini文件,並將其置於safe_mode = off中,以查看是否有幫助(因爲有人說這有時會導致Drupal由於某種原因而忽略新模塊)幫幫我。

我在服務器上創建兩個文件,所以我不認爲會有任何問題像換行(我使用GoDaddy的FTP文件管理器,它自帶的編輯器。)

還有什麼問題是因爲我很難過?

感謝您的期待。

+0

我也試過把'package'這一行取出來,因爲我看到了一個沒有使用的例子(在Drupal模塊教程頁面上)。仍然沒有出現在列表中。這怎麼可能發生? – Shawn

回答

-1

我發現東西的作品替換詞hook。在閱讀了有關換行問題的人並且不知道這是否造成問題後,我決定嘗試一些方法。

我去了一個模塊目錄,發現一個.info文件。就我而言,我去了一個有Commerce的目錄,並將Commerce.info文件複製到我的自定義模塊的目錄中。

然後,我所做的就是在安裝了Commerce模塊(對於從中複製的任何.info文件可以執行相同的操作),並在開始時修改信息,刪除所有依賴行或任何無關緊要的事情。換句話說,使它像你試圖使用的.info文件,但不要從你一直試圖啓用的.info文件複製!

保存此文件(在我的情況下,它仍然是commerce.info。)

現在刪除最初嘗試啓用的.info文件。

重命名新的.info文件到你想要的名稱(commerce.info => mymodule.info。)

轉到你的模塊頁面並刷新它。

瞧......就這樣。啓用並保存配置。

0

確保命名同名的.info.module文件。

E.g. mymodule.infomymodule.module

請注意,名稱應該是字母數字(允許使用下劃線)並以字母開頭。

在你的鉤子實現,用你的模塊名稱

function mymodule_form_alter($form, &$form_state, $form_id) 
{ 
    // code goes here... 
} 
+0

嗨,穆罕默德,那麼該模塊的目錄呢,還是那麼重要?在我的情況下,我有my_module.info等,但目錄是mymodule。 – Shawn

+0

只是使目錄讀取與模塊名稱(my_module)相同,仍然不顯示。 .info和.module文件都具有相同的名稱。 – Shawn

+0

懇請重新檢查答案 –