0

良い一日、

私は hook_form_alter を実行しており、 /sites/all/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 にモジュールを表示させて有効にするにはどうすればよいですか? カスタムというカテゴリがなく、何も表示されません。

これまでのところ、私は php.ini ファイルに移動し、 safe_mode=off を入れて、それが役立つかどうかを確認しました (これにより、何らかの理由で Drupal が新しいモジュールを無視することがあると誰かが言ったからです) が、それは役に立ちませんでした。

サーバー上に両方のファイルを作成したので、改行などの問題はないと思います (GoDaddy の FTP ファイル マネージャーを使用し、エディターが付属しています)。

私が困惑しているので、何が問題なのですか?

ご覧いただきありがとうございます。

4

2 に答える 2

0

.infoとファイルは必ず.module同じ名前にしてください。

mymodule.infomymodule.module.

名前は英数字 (アンダースコアを使用できます) で、文字で始まる必要があることに注意してください。

フックの実装で、単語hookをモジュールの名前に置き換えます

function mymodule_form_alter($form, &$form_state, $form_id)
{
    // code goes here...
}
于 2013-02-06T14:14:23.660 に答える
-1

うまくいくものを発見しました。改行に問題がある人について読んで、これが問題を引き起こしているかどうかわからなかった後、私は何かを試すことにしました。

モジュールディレクトリに移動して、.infoファイルを見つけました。私の場合、Commerceが含まれているディレクトリに移動し、Commerce.infoファイルをカスタムモジュールのディレクトリにコピーしました。

次に、DrupalがCommerceモジュールをインストールした後に追加したものを取り出し(コピー元の.infoファイルでも同じことができます)、最初に情報を変更して、依存関係の行などを削除しました。関係ありません。つまり、使用しようとしている.infoファイルのようにしますが、有効にしようとしている.infoからコピーしないでください。

このファイルを保存します(私の場合は、まだcommerce.infoです)。

ここで、最初に有効にしようとしていた.infoファイルを削除します。

新しい.infoファイルの名前を希望の名前に変更します(commerce.info => mymodule.info。)

モジュールページに移動して更新します。

出来上がり...あります。構成を有効にして保存します。

于 2013-02-06T17:08:17.993 に答える