D7で特定のモジュールの重量を変更する方法を探しています。データベースの構成テーブルで実行できることは知っていますが、方法がわかりません。 Drupal.orgで見つけたもう1つの解決策は、フックを使用することですが、より詳細な説明や、それに関するチュートリアルを入手できるガイダンスが必要です。
私がしなければならないことは、他のモジュールよりも速く読み込まれるように、特定のモジュールの優先順位を高くすることです。例の1つは、OS XのSafariブラウザでそれを監視するLightbox2ポップアップを使用したビデオストリーミングです。ライトボックスモジュールの優先度を変更するまでロードされません。
Phpmyadminにアクセスできる場合は、システムテーブルを確認できます。モジュールが見つかったら、小さな鉛筆のアイコンをクリックしてテーブルの行を編集できます。ウェイト列を編集します。
明示的に要求されたため、このタスクを実行するモジュール Modules weight もあります。
モジュールの実行順序を常に変更する必要があります。また、クエリを実行してシステムテーブル内のモジュールの重みを変更するコードを記述したり、お気に入りのSQLクライアントに直接アクセスしてレコードを直接変更したりすることもできます。このモジュールは管理インターフェイスを提供しますユーザー/人々は、必要に応じてモジュールの重みを並べ替えるためにモジュールページにアクセスできます
このジョブにも drush
を使用できます。以下のコマンドを使用して、modulename
およびmoduleweight
の値を好みに合わせて調整します。
モジュールの現在の重量を調べます。
modulename="rdf"
drush php-eval "drush_print_r(db_select('system', 's')
->fields('s', array('weight'))
->condition('name', '$modulename', '=')
->execute()
->fetchField()
);"
モジュールの新しい重みを設定します。
modulename="rdf"
moduleweight="1"
drush php-eval "db_update('system')
->fields(array('weight' => $moduleweight))
->condition('name', '$modulename', '=')
->execute();"
さまざまなモジュールで見たのは、db_query呼び出しを使用してデータベースで直接実行することです。何かのようなもの:
db_query("UPDATE {system} SET weight = 12 WHERE name = 'admin_views'");