drupal 7新创建的自定义模块未显示在模块列表中

时间:2013-03-01 09:48:52

标签: drupal drupal-7

我是drupal的新手,目前正在学习drupal 7。

我指的是drupal 7的书

我正在尝试创建我的第一个自定义模块

在本书中提到您可以在以下目录之一中创建模块

1)/ sites / all / modules

2)/ sites / default / modules

我的模块名称是第一个

我在/ sites / default / modules / first

中创建了我的模块

在这个目录中有两个文件

1)的 first.info

2)的 first.module

第一个.info文件的内容是

;$Id$
name = First
description = A first module.
package = Drupal 7 Development
core = 7.x
files[] = first.module
;dependencies[] = autoload
;php = 5.4

fisrt.module文件的内容是

<?php
// $Id$
/**
* @file
* A module exemplifying Drupal coding practices and APIs.
*
* This module provides a block that lists all of the
* installed modules. It illustrates coding standards,
* practices, and API use for Drupal 7.
*/
/**
* Implements hook_help().
*/

function first_help($path, $arg) {
if ($path == 'admin/help#first') {
return t('A demonstration module.');
}
}
?>

当我尝试检查模块列表时,我无法看到我创建的模块

我已经累了清除缓存并检查仍然没有显示

谁能告诉我哪里错了。

提前致谢

4 个答案:

答案 0 :(得分:3)

模块位置
大多数人选择将模块放在/sites/all/modules/sites/domain.com/modules文件夹中(不是sites/default...)。对于大多数常见的Drupal安装,您应将其放在sites/all/modules

信息文件
您的信息文件中只需要名称,描述和核心。首先删除除这些值之外的所有内容。

name = First
description = A first module.
core = 7.x

有关详细信息,请参阅Writing module .info files (Drupal 7.x)

一些注意事项:

  • “package”属性“只应由大型多模块包使用”
  • 您无需在“files”属性中声明模块的.module文件。
  • 暂时删除已注释掉的行。如果您的模块确实需要PHP 5.4,那么您可以在完成故障排除后将其添加回来。

答案 1 :(得分:1)

我通过使用

启动.info文件解决了这个问题
name = First

并使我的文件编码:

  

没有BOM的UTF-8

使用Notpade ++时可以轻松找到它

答案 2 :(得分:0)

function test_example_help($path, $arg){
switch ($path) {
case "admin/help#test_example":
return '<p>' . t("test module to see how it works and shows") . '</p>';
break;
}

使用switch语句尝试以下示例以查看它是否有效

答案 3 :(得分:0)

尝试取出标记php代码结尾的?&gt; 。这样做是为了防止空格分解HTTP标头。