問題タブ [drupal-hooks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
drupal - hook_node_info がリストにコンテンツ タイプを追加していません
モジュール内から新しいコンテンツ タイプを追加しようとしています。この新しいタイプのベースとして使用したいので、ubercart プロダクト キット モジュールからほとんど借りてきました。
しかし、この新しいコンテンツ タイプは、他のコンテンツ タイプと一緒に私のコンテンツ タイプ リストに表示されません。パーミッションをリストする関数 amh_shop_bundles_perm() も作成したため、モジュールが正しくロードされていることがわかり、ユーザーパーミッションのリストに期待どおりに含まれています。
私は何かを逃しましたか?(まあ、おそらくそうです)。Drupalのドキュメントによると、実際にはそれほど簡単なはずです。
アップデート:
/admin/content/node-type/amh-shop-flexi-bundle にアクセスして、コンテンツ タイプが適切に生成されているかどうかのテストを提供するコメントを見つけました。
これはうまくいきました - しかし、コンテンツタイプはまだ他のものと一緒にリストされていません.
更新 2:
/node/add/amh-shop-flexi-bundle で空白のノード フォームにアクセスできたので、他のフックの実装に進むことができると考え、コンテンツ タイプを一覧表示するには hook_form() を実装する必要があることを発見しました。
php - hook_mail経由で1回限りのログインリンクを送信する
これは「モジュール」での私の最初の実際の試みです(これはdrupalコミュニティへの貢献にふさわしいものではないことを認識しています-APIに自分のやりたいことをさせようとしているだけです)。が機能しておらず、理由がわかりません。誰かがアプローチについて何か意見を持っているのか、それとも私のエラーを見ているのだろうか。
私の質問:これを行うためのより良い方法はありますか?それで私は何rsvp_query()
度も電話する必要がありませんか?
これは、カスタマイズされたリンク(この場合はハッシュされたpwとタイムスタンプに基づく)を含むロール(または他のクラス)のすべてのユーザーの電子メールを再帰的に生成するための賢明なアプローチですか?
http://pastebin.com/594wkHWsでも
どんな助けでも大歓迎です。
drupal - hook_mail() で動的な電子メール生成を使用する
cases
この例のように、PHPswitch
ステートメントで 動的に生成することは可能hook_mail()
ですか?
drupal - 登録時にフィールドを組み合わせてユーザー名を生成するにはどうすればよいですか?
カスタムモジュール「nade_reg」で、ユーザー名フィールドを非表示にしながら、ユーザーの名前と名前を収集する2つのフィールドを含めるように登録フォームを変更しました。これに関連するかどうかはわかりませんが、ログイントボガンモジュールを有効にしています。
送信時に、ユーザー名を名姓(スペース付き)にします
送信ハンドラーを使用してこれを実行しようとしましたが、(多くのキャッシュをクリアした後でも)関数がシステムによって認識されていないようです。そのため、エラーがどこにあるかわかりません。
以下のコードは正しいですか、それとも配列とのラングリングを行う必要がありますか?
これがシステムに表示されない理由はありますか?
drupal - hook_views_pluginsを適切に実装する方法は?
ビューの独自のカスタム形式の出力を作成しようとしています。私はこのコードで部分的に成功しました:
my_module.module:
my_module.views.inc:
theme / my-module.tpl.php:
上記は、カスタムmy-module.tpl.phpを使用して行を出力するという点で成功しています。ただし、行は事前にフォーマットされており、views_plugin_style_defaultハンドラーによって推定されます。私は何時間もかけてこのようなハンドラーを作成しようとしましたが、views / pluginsディレクトリに直接配置するか、モジュール自体のpluginsディレクトリに配置しても成功しませんでした。また、オンラインで良い例を見つけることができず、デバッグに役立つ有用なエラーメッセージも表示されません。
カスタムビューハンドラーを作成する方法に関する適切なドキュメントはありますか?または、実用的な例を提供できますか?
どうもありがとうございます!
drupal - Drupal 6: hook_user() でカテゴリをテーマ化する
Drupal 6 と hook_user() に問題があります。ユーザーノードに新しいカテゴリを追加するモジュールを作成しました。その一つが「住所」です。この新しいカテゴリがあり、「マイ アカウント」からアクセスできます。op「フォーム」が呼び出されると、必要なすべてのアドレスを収集します。しかし、それらをテーマにする方法が見つかりません。現在、テーブルに適切に配置されているのではなく、いくつかのフィールドがページにダンプされています。私は「user-profile.tpl.php」を認識していますが、それを変更する他のモジュールがある可能性があるため、それを変更することはできません。
ユーザー カテゴリで適切なテーマのテーブルを作成する方法を知っている人はいますか?
よろしくゲヴュルツヴィーゼル
drupal - ノード アクセスを条件付きでブロックする Drupal 7 hook_node_access
すべてのユーザーに対して、「メッセージ」タイプのノードへのアクセスを条件付きでブロックする必要があります。ユーザーがこれらのメッセージ ノードを表示できる唯一の方法は、フォームを正常に送信することです。
私はこのように始めました:
ただし、フォームの送信が成功したときに、このタイプの個々のノードへの表示アクセスを許可したいと思います。
したがって、ノード 255 は「メッセージ」タイプであり、この特定のノードとこのユーザーの NODE_ACCESS_DENY を「持ち上げる」必要があります (+ ほとんどの場合、これは匿名ユーザーになります)
これを達成するためのさまざまな方法に関する提案はありますか?
drupal - Drupalのhook_order「new」からの値
Drupalのhook_order関数で、ケースが「新規」の場合に$argの値を見つける方法を誰かに教えてもらえないかと思っていました。結果のprint_rは、実際の値があるにもかかわらず$ arg out(print_r($ arg))を出力しようとすると、「billing_first_name」や「billing_last_name」などのチェックアウト値に対して常に空白で表示されます。$ orderから値を取得しようとしているカスタムモジュールがあります-値を取得するために&$ arg1を&$ orderに切り替えますか?「case'load'」がある場合、必要に応じて$ order値を取得しますが、case内のコードは、注文が完了する前ではなく、完了したときにのみ実行する必要があります。
drupal - レンダリングする前にノードを操作するためにどのフックを使用する必要がありますか?
私は、cckフィールドの値に応じてノードのコンテンツを操作するためのdrupal7.x用の単純なモジュールを開発しています。実際、field_status = 1の場合、field_presenationを非表示にします。hook_node_loadを使用しようとしましたが、機能しましたが、残念ながら、ノードを表示または編集する前に呼び出されました。これは必要なものではありません。hook_node_viewを試しましたが、不明な理由で実行されませんでした。
drupal 6.xでは、hook_nodeapiを使用して、$ op ='view'であるかどうかを確認しましたが、正常に機能しました。
php - ブロック/テーマが$outputを返さない
これが問題です。
「ユーザーお気に入りブロック」というブロックがあります。
これは「最初のサイドバー」の領域に配置されてい
ます。「最初のサイドバー」がフロントページに表示されます。
この関数は、f25_favoritesテーブルからデータを取得し、それらをブロック内にリストすることになっています。現在、テーブルは空の配列です。
私return $output
の場合、divなどは何も出力されません。
するとprint($output)
、すべてが表示されます。
これは、「if」ステートメントがtrueを返していることを示すためのテストコードです。http://d.pr/zDph
これはこれを出力します:http://d.pr/Uhrs
左上の0に注意してください。これは、「count()」の出力であり
、「if」内のテキストの出力です。
だから、これは私のテーマです:
これは、次のhook_theme()関数で呼び出されます。
これは、このhook_block()関数で呼び出されます。
注目に値する
私のテーマは「Zen」というテーマの「サブテーマ」です
。Zenには次のようなblock.tpl.phpがあります。http://d.pr/AaO1
これが私のモジュールの完全なコードです:http://d.pr/cGqc