質問
私の最新のモジュールにあるようには見えない出荷します。設置が有効になります。こちらは、ポリ:
していますモジュールファイルの実施 hook_menu()
や hook_views_data()
.
双方が作、可能なモジュール:移動メニューの経路の作品あたり期待される私の新たな知見が基底タイプがあります。
していますファイルの実施 hook_install()
hook_uninstall()
や hook_schema()
の機能、インストールファイルに表示されます。の新しいテーブルに表示が可能となどに不備がログに出力されます。
すれば手動で通話の機能ます。ファイルdevelとして取得しま未定義エラーとなります。できるだけこのインストールファイルは読み込まれます。
走ります。ファイルのコマンドラインのPHPの通訳になっていて、統語ます。
私は失明らかにしていくのファイルが読み込まれた範囲のモジュールを有効にします。
私を担当する案内もあります。
解決
がでエラー hook schema()
残念ながらの機能に失敗したり黙々と.例えば:
'description' => array(
'type' => 'varchar',
'size' => 'normal',
'not null' => TRUE,
'description' => 'Description of vaule type.',
),
失敗しました。
'description' => array(
'type' => 'varchar',
'size' => 'normal',
'length' => 255,
'not null' => TRUE,
'default' => '',
'description' => 'Description of vaule type.',
),
ります。
問題は悪化した私の間違って想定しうることを無効に再可能なモジュールがトリガーのインストールし、というよりも除去にこのモジュールからシステム。
今後も皆様に提供します。
他のヒント
モジュールを有効にした後にインストールファイルを追加した場合:モジュールを無効にし、モジュールをアンインストールしてから、モジュールを有効にします。
hook_install()
モジュールが初めて有効になったときにのみ実行され、アンインストールされた後に有効になっている場合にのみ実行されます。
私のインストールファイルが読み込まれていなかったので、将来の参照のためにこの回答を追加したいだけで、何が間違っているのかを理解するのに時間がかかりました。
uphot_update_7101などの更新関数を定義していましたが、update.phpに移動したとき、「保留中の更新はありません」と言っていました。いくつかのデバッグステートメントを追加して、get_defined_functions()の呼び出しが行われたときに私の関数が表示されていないことを発見しました(これはPHP関数です)。 PHPが更新機能を知らなかったようでした。
Drupalには2つのバージョンのモジュールがあったことがわかりました。 1つは/sites/all/modulesともう1つは/sites/sitename/モジュールです。したがって、Sites/SiteNameのモジュールの古いバージョンは、サイト/ALLで私の新しいバージョンをオーバーライドしていました。
だから一番下の行:
Check whether there are 2 versions of your module - one at sites/all/modules and another at sites/sitename/modules
モジュールフォーム /サイト /サイトネームの古いバージョンを削除すると、更新が予想どおりに表示されました!
インストールファイルは、インストール、更新プロセス、またはモジュールの要件を確認するときにのみロードされます。 [必要なときに)オンデマンドでファイルをロードすると、実行、メモリ、全体的なパフォーマンスの時間が節約されます。
モジュールのインストールファイルを含めるには、最初にそれを含める必要があります。
module_load_include('install', 'my_module');