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

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

1
カスタムモジュールの「構成」オプションをモジュールリストに表示するにはどうすればよいですか?
実装する簡単なモジュールを作成しましたhook_menu()(追加されたパスはadmin / settings / mymoduleです)。 現在のすべてのモジュールをリストするadmin / modulesページには、私のモジュールの「構成」リンクがありません。「admin / settings / mymodule」へのリンクがモジュールページに表示されるようにするには、どうすれば実装できますか?
7 7  routes  hooks 

2
モジュールのフックをオーバーライド/実装する方法
モジュールのフックをオーバーライドすることは可能ですか?私が欲しいのは、search__query_alter()検索結果を制限するフックを書くことです。しかし、これを実現するには、組み込みモジュール検索の.moduleファイルにフックを記述する必要があります。 このように、私はコアdrupalファイルにハッキングしています。コアdrupalファイルに触れずに、テーマのtemplate.phpファイルまたは別の場所に別のモジュールのフックを書き込む方法はありますか?search_query_alter()テーマのtemplate.phpファイルに書き込むと、機能しません。 私の質問から、あなたは私がDrupalに非常に新しいことを理解しているかもしれません!助けてくれてありがとう。
7 hooks 

2
page.tpl.phpファイルがアクセスできる変数を作成するにはどうすればよいですか?
Drupal 7では、hook_node_loadを実装するモジュールがあります。これは、page.tpl.phpファイルで使用したい変数を作成します。現在ロードされているノードと同じタイプのノードの数であるとしましょう。今のところ、私は変数を次のようにグローバルにしています: global $node_count; $node_count = db_query("SELECT count FROM {node} WHERE type = :type", array(":type" => $node->type"))->fetchAll()[0]->count; 次に、私のpage.tpl.phpファイル内で、次のようなことを行う必要があります。 global $node_count; echo "<p>$node_count</p>"; $node_count変数をスコープ内に、$nodeまたはそれと同じ方法で作成する方法があることを知ってい$userます。このテーマで見つけたチュートリアルには、テーマ関数全体を書き直すことが含まれているようです。複雑なことは何もしていません。.tpl.phpファイルのスコープでこの変数を作成する簡単な方法はありますか?関数のようなものですか?
7 7  hooks  theming 

2
hook_form_alter()を使用してログインフォームを変更するにはどうすればよいですか?
次のコードでログインフォームを変更しようとしています。 function git_form_alter(&$form, $form_state, $form_id) { $forms = array( 'user_login_block' => 'user-login-form', 'user_login' => 'user-login' ); if (array_key_exists($form_id, $forms)) { //my altering code } } これは、JavaScriptウィジェットを導入するopenidselectorモジュールから取得したもので、多かれ少なかれ、私がやろうとしていることです。 mysite / user / loginにアクセスしても、フォームを変更する必要があるブロックは呼び出されません。それは単に呼び出さないだけhook_form_alter()です。 別のことは、フックを呼び出している登録フォームまたはその他のフォームです。 誰か私に何ができるか教えてもらえますか?openidselectorが同じメソッドを使用する可能性はありますが、そのモジュールではコードは機能しますが、私のコードでは機能しませんか?
7 forms  hooks 

1
hook_field_loadおよびhook_field_formatter_viewはいつ呼び出されますか?
私が実施しているhook_field_load()とhook_field_formatter_view()、特定のフィールドの値に一部の文字を置換するために機能します。しかし、彼らはまったく呼ばれていないようです。私のようないくつかのコマンドを書いたexit()し、print_r($field)フックではなく、何も起こりません。 このフックはいつ呼び出されますか?(そしてこれはビューのフィールド値を変更する正しい方法ですか?)
7 7  entities  hooks 

3
drupalコアでデフォルトのインストールプロファイルを削除する
コアをハッキングする必要なくdrupalに付属するコアインストールプロファイルを削除する方法はありますか?つまり、このリストを変更するために実行できるフックはありますか? これが必要な理由は、aegirで使用するカスタムインストールプロファイルを作成しており、ユーザーが新しいサイトを作成するためのオプションとして、デフォルトのコアドルパル「最小」および「標準」インストールプロファイルを必要としないためです。 おそらくこれはaegirのフックかもしれませんか? 誰かがこれに対するエレガントな解決策を見つけましたか?

3
2つの異なるフック間で値を共有する
私のモジュールには2つのフック関数がhook_views_pre_render()ありhook_form_alter()ます。ではhook_views_pre_render()、使用可能なノードに関するデータを取得しますhook_form_alter()。 からhook_views_pre_render()にデータを渡す方法を探していhook_form_alter()ます。シンプルに見えますが、うまく動作しません。誰かアイデアはありますか? 今のところ機能しているのはglobal $aVariable両方のフック関数に追加することですが、もっと良い方法があるはずだと思います。
7 hooks 

1
アクセスが拒否されましたhook_menu Drupal 7
Drupal 6での経験のために、Drupal 7で最初のモジュールを試しています。 function custom_work_menu(){ $items = array(); $items['mypage']=array( 'title'=>t('Title'), 'page callback' => 'drupal_get_form', 'page arguments' => array('custom_work_mypage_view'), 'access arguments' => array('access content'), ); return $items; } ページにアクセスすると、アクセスが拒否されます。ここで何が欠けていますか?
7 7  hooks  users 


2
ノードの追加ページでページタイトルを変更
「ノードの追加」ページのタイトル(このタイトル)を変更するには、どのフック/フィルターを使用する必要がありますか?たとえば、「/ node / add /」を表示しているときに、タイトルを「Create」から「Add New」に変更したい
7 hooks  7 

2
メニューコールバックにURLパラメータを渡す
hook_menu()「user-login」という新しいパスを作成するために実装しました。ページコールバック関数は、次のようなURLパラメータを受け取ります$_GET['parameter']。ただし、http://site.com/user-login?parameter=testにアクセスすると、404エラーが発生します。hook_menu()これを機能させるにはどのように実装すればよいですか? これは私が使っているコードです /** * Implementation of hook_menu() */ function login_menu() { //$items = array(); $items['user-login'] = array( 'title' => 'External login', 'page callback' => 'user_login_callback', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK, ); return $items; } function user_login_callback() { // Get the URL params $uid = urldecode($_GET['uid']); $expiry = …
7 6  hooks 

3
フックにはどのような種類がありますか?
では、古いブログの記事、ラリー・ガーフィールドは、「レジストリ・スタイル」フックとhook_nodeapi型フックを指します。 さまざまな種類のフックを分解することに関しては、ドキュメントがないようです。フックの大きなリストがあり、Tim Plunkettがフックを処理する2つのdefgroupを見つけましたが、私たちが持っているフックの種類の正式な内訳はないようです。 そのような内訳はどのように見えますか?
7 hooks 

2
モジュールの競合(「反依存」)に対処するには?
特に別のモジュールで動作しないモジュールがあります。他のモジュールが無効になっている場合にのみモジュールをインストールできるように、そのモジュールが有効かどうかを確認してインストールを中止する方法や、インストールボックスをグレー表示する方法があるかどうかを知りたいです。 それは逆依存のようなものです! Drupalでこれを正しく行う方法はありますか?
7 hooks 

3
異なるモジュールによるフック実装が呼び出される順序を変更できますか?
D6では、contribモジュールを使用していますが、その動作の少しをオーバーライドしたいと思います。そのためのカスタムモジュールがありますが、関連するフックの実装がcontribモジュールの実装の前に呼び出されるため、contribモジュールのバージョンが「優先」されます。 それを変更し、最後に自分のフックを強制的に呼び出す方法はありますか? 具体的な詳細は次のとおりです。 未登録ユーザーのデフォルトの「匿名」ユーザー名をコメントフォームから削除したいと思います。form_alterフックを実装し、nameフィールドからデフォルト値を削除する小さなカスタムモジュールtweak_comment_formを作成しました(これに関する以前の質問への回答を参照してください)。 しかし、私はRealNameと呼ばれるcontribモジュールも使用します。これは、form_alterも実装しています。RealNameは、登録済みユーザーに必要なことを行います(ユーザー名を「実際の名前」に置き換えます)が、デフォルト値を名前フィールドに再割り当てします。
7 7  hooks 

2
匿名ユーザーのみにメニュー項目を表示する方法は?
匿名ユーザーのみのメインメニューに[今すぐ参加]タブを表示したい。 以前は、まさにそれを行うRole per per moduleモジュールを使用していました。 タブは1つだけなので、5行または10行のコードを使用します。どのフックを使用する必要があり、現在のユーザーロールを確認してメニュー項目を追加する(またはログインしているユーザーに対して非表示にする)機能は何ですか?
6 routes  hooks  users 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.