タグ付けされた質問 「hooks」

コードを編集せずにモジュールの機能を拡張できるメカニズムに使用します。

14
フックの背後にある基本的な概念は何ですか?
私はPHPの中級です。スキルを磨くために、Drupal 7の学習を開始しました。Drupalアーキテクチャの概念を学習している間、フックとブートストラップという用語は非常に困惑しました。「Pro Drupal開発」本とdrupal.orgのドキュメントを読みましたが、Webページを表示するためにDrupalでフックがどのように機能するかを学ぶことは非常に高度です。 フックとは簡単な言葉で誰でも教えてもらえますか?

8
サイトの実行に使用しているものを隠すにはどうすればよいですか?
フロントページのソースコードを見て、誰かが私のサイトがDrupalを使用していることを知らないようにするためにできることはありますか?私は、既知の弱点を使用して攻撃できるようにWebサイトを実行するために使用されるソフトウェアを検出するソフトウェアを使用してサイトをスキャンする人々に言及しています。 サイトがDrupalを使用しているという事実を完全に隠すことができない場合、それらを混同することは少なくとも可能http://example.com/servlets/<node-id>.jspですか?
72 hooks 

5
キューを処理するためにcronタスクが必要ですか?
完了までに約45分かかり、毎日実行する必要があるタスクがあります(ユーザーを複数の外部データベースに同期するなど)。 作業を処理するために、hook_cron_queue_info()次のようにcronキューを設定しました。 function mymodule_cron_queue_info() { $queues = array(); $queues['update_users_queue'] = array( 'worker callback' => '_mymodule_process_user_queue_item', 'time' => 120, ); return $queues; } この関数を使用してキューを埋めます: function mymodule_queue_all_users_for_synching() { //...query for users... $queue = DrupalQueue::get('update_users_queue'); foreach($users as $user) { $queue->createItem($user); } } キュー充填機能は、cronタスクとして呼び出されます。私はElysia Cronを使用していますので、私の実装hook_cronapi()は: function mymodule_cronapi($op, $job = NULL) { $items = array(); …
32 7  hooks  cron  queue 

4
drupal_mail()を使用してカスタムテンプレートでメールを送信する方法
このdrupal_mail()機能を使用してメールを送信したいのですが、カスタムHTMLテンプレートを使用して、ウェブサイトのデザインを維持しますが、フックやモジュールなどに完全に慣れているので、何らかの説明や初心者ガイドください。 自分でテンプレートを作成できます。テンプレートdrupal_mail()を使用する方法を知る必要があります。
31 7  hooks  emails 

5
hook_form_alterの「und」の言語キーのベストプラクティス
カスタムモジュールのフォームを変更しています。コードは次のようになります。 function my_module_form_alter(&$form, &$form_state, $form_id) { if ($form_id == "someID") { $form['field_charity_author']['und'][0]['value']['#value'] = arg(3); //$form['field_charity_author']['#type'] = 'hidden'; } } ただし、ハードコーディングundは悪いと思います。この場合、フォームフィールドを適切に変更する適切な方法は何ですか?
30 7  entities  hooks  i18n-l10n 


2
コンテンツタイプからフィールドを削除する最良の方法
GUIで定義されたコンテンツタイプからDrupal 7フィールドを削除する最良の方法は何ですか?update.phpの実行時に変更を複数のサーバーに伝播できるように、hook_update_Nを使用します。しかし、私は解決策を見つけることができないようです。db_drop_table()は、カスタム定義のスキーマでは意味がありますが、GUIで定義されたコンテンツタイプ/フィールドでは意味がありません。
21 7  entities  hooks  updating 

3
表示から除外する$ form要素を指定しますか?
form_alterまたはテンプレートファイルを使用して、フォーム内の特定の要素を非表示にします。Drupal 7では、フォームに表示されないように$ form要素を指定できることをどこかで読みましたが、思い出せません!unset()ではなく、他の関数!
20 7  hooks  forms  theming 

5
hook_views_query_alter()を使用するにはどうすればよいですか?
hook_views_query_alter()のドキュメントで報告された内容に従って、という名前のファイルを作成し、alterform.views.incそれをという有効なモジュールに入れましたalterform。次のコードを。に追加しましたが、alterform.views.inc機能しません。 function alterform_views_query_alter(&$view, &$query) { switch($view->name) { case 'myViewName': echo 'test test'; // test $query->orderby[0] = "FIELD(node.type, 'story', 'page', 'productTypeC', 'productTypeD') ASC"; $query->orderby[1] = "node_title ASC"; break; } } なぜ「テストテスト」を出力しないのですか?私のコードの何が問題になっていますか? テストとビューの出力はまだありません。私のコードの何が問題になっていますか?ありがとうございました
20 7  views  hooks 

4
すべてのhook_update_N()を実行するためにhook_install()を取得する方法は?
モジュール用に持っているすべての更新を実行するためにhook_install()を取得するにはどうすればよいですか?mymod.installファイルがあります。 私が試してみました function mymod_install() { mymod_update_6001(); } しかし、何もしないようです。mymod_update_6002()がある場合、6001()を呼び出すか、6002()を呼び出すか、6001()、6002()の順序で両方を呼び出します。 デフォルトでモジュールをインストールしたときにすべてのアップデートを実行するのが常識だと思いました。
18 6  hooks  installing 

2
フックを作成する方法は?
他のDrupalモジュールが使用する独自のフック(Drupalコアが作成するものと同様)を作成するにはどうすればよいですか?
18 7  hooks 

2
hook_menu()アクセスコールバックの例はありますか?
サンプルプロジェクトをダウンロードしましたが、menu_exampleモジュールでは、すべてaccess callbackがtrue..に設定されています。 この例では、menoエントリはノード上に表示されますが、自分のノードを編集する権限を持つロールに対してのみ表示されます。 アクセスコールバックのもう少し冗長な例を見つけることはできません。 誰もが持っていますか?
18 7  routes  hooks  users 

2
ノードが「公開」から「非公開」に変更されたことを検出するにはどうすればよいですか?
でhook_node_update()が更新されていた後、私は簡単に(それが公表されるかどうかにかかわらず)のノードの「状況」を伝えることができます。 ただし、更新されたノードが公開されたかどうかを確認する簡単な方法はありますか?(またはその逆)? ルールには「ノード値が変更された」などの条件があるかもしれないと思いますが、プログラムでこれを実行したいと思います。 drupal.orgでfago(ルールの開発者)がこの問題を見つけましたが、これはDrupal 7でこれに対処しているようですが、良い説明をいただければ幸いです。
17 7  nodes  entities  hooks 

2
フォーム送信ハンドラーを変更するにはどうすればよいですか?
何らかの理由で、データベースに保存する直前に、任意の形式のすべてのテキストフィールドのいくつかの文字(存在する場合)を置き換える必要があります。言い換えれば、提出されたすべてのデータを取得し、それらの文字を置き換えることができるフックが必要です。 私はこの解決策を見つけました: function hook_form_alter($form, $form_state, $form_id) { $form['#submit'] = 'my_custom_submission_function'; } ただし、提出の進行状況の残りの部分も処理する必要があるため、これは良い考えではありません。いくつかの文字を置き換えるだけです。これを行うためのフックはありますか?解決策は何ですか?
16 7  hooks  forms 

9
キャッシュのクリアをフックする方法はありますか?
大きなキャッシュを備えた大きな教育機関のウェブサイトの場合、ユーザーがキャッシュ生成にアクセスできないように、できるだけ早くキャッ​​シュを生成したい... 私はいくつかの機能を実行し、重要なページを要求することでそれを行うcronセットをすべて持っていますが、私が探しているのはキャッシュがクリアされたときを知る方法、できればフックなので、これを起動できます生成関数。 何か案が ?
16 7  hooks  caching 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.