web-dev-qa-db-ja.com

Drushモジュールの有効化/無効化

Admin-menuのEnable Developer Modulesメニュー項目が大好きです。これをコマンドラインから切り替えるにはどうすればよいですか?

管理メニューには、すでにsettings.phpで設定された「開発者」モジュールの構成があります。この配列にはdrush vget admin_menu_devel_modulesでアクセスできます(まあ、2つのエントリを返します)。次に、それらのアイテムをdrush enableに「パイプ」します。それが文字通り不可能ではないことは知っていますが、これは私の思考プロセスです。

このコマンドをスクリプト化するにはどうすればよいですか?

3
ack

私は、必要なすべての開発者モジュールに依存するカスタムモジュールを用意したいと思っています。また、このモジュールを設定して、いくつかの強力な変数(css/jsの前処理やページキャッシングをオフにするなど)を設定し、Contextを使用していくつかの開発者ブロックを有効にします(PHPの実行やコンテキストインスペクターなど)。これにより、1つのモジュールをドラッシュ/ディスディスプして、すべての開発者ユーティリティをオン/オフにすることができます。

これが私のLullabot開発モジュールです 例として参照できます。

4
q0rban

最もクリーンなオプションは、独自のDrushコマンドを最初から作成することです。それらはひどく複雑である必要はありません- 'sandwich'コマンド はDrushと共にインストールされ、Niceテンプレートとして機能します。

1
Eaton

Antやphingなどのビルドフレームワークを使用する別の可能性は、完璧な開発環境をセットアップするために実行する必要があるすべてのタスクを使用して、build.xmlファイルでターゲットを定義することです。別のターゲットを定義して、最初のターゲットを元に戻すことができます。これにより、2つのモードを自由に切り替えることができます。

そのようなターゲットの簡単な例を以下に示します

   <target name="en-dev">
      <exec  command="drush --yes en devel devel_themer coder"  />
      <exec  command="drush --yes perm-grant 'Authenticated User' 'access devel'" />
      <exec  command="drush --yes perm-grant 'Annonymous User' 'access devel'" />
    </target>

    <target name="dis-dev">
      <exec  command="drush --yes dis devel devel_themer coder"  />
      <exec  command="drush --yes perm-revoke 'Authenticated User' 'access devel'" />
      <exec  command="drush --yes perm-revoke 'Annonymous User' 'access devel'" />
    </target>

この場合、phing en-dev開発環境をセットアップします。

反対の関数については、phing dis-dev

1
DKinzer
drush pm-enable `drush php-eval "echo 'ctools'"`

これはctoolsを有効にしようとします。 echo ctoolsを、モジュール間にスペースを入れてフォーマットするものに変更します

0
hefox

この状況ではテストされていませんが、 xargs は1つのコマンドの結果を受け取り、次の引数としてパイプすることができます

drush vget admin_menu_devel_modules | xargs drush en  

vgetが返す変数が好みに合わせない場合は、途中で少しsedを実行する必要があるかもしれません。

0
Jeremy French