問題タブ [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.

0 投票する
1 に答える
876 参照

php - hook_form を使用してフロントエンド ノード フォームを作成するにはどうすればよいですか?

カスタム モジュールを作成し、'hook_form' を使用してカスタム フォームを作成しました。次に、メニューコールバックを使用して新しいページを作成し、このフォームを挿入しました

このフォームは、基本的にフロントエンドからノードを作成することです。バックエンドと同じフィールドがすべてあります。

フォームコード:

}

これを保存するにはどうすればよいですか、またはこれが特定のコンテンツ タイプ用であることを hook_form に伝えるにはどうすればよいですか? node_save の使用方法は知っていますが、hook_form でこれを実装する方法がわかりません。

自分が望むものを達成するにはどうすればよいですか?

ありがとうロバート

0 投票する
2 に答える
697 参照

drupal - .install ファイルによるモジュールの有効化/無効化の防止

settings.php の $conf でオーバーライドされた値に依存するモジュールを作成しました。具体的には、$conf[session_inc] で設定されたカスタム セッション ハンドラです。

このオーバーライドは、モジュールが機能するために存在する必要があり、モジュールが無効化/アンインストールされている場合は存在しない必要があります。

.install ファイル内から有効化/無効化プロセスを停止する方法はありますか? これらのアクションの前に、ユーザーに settings.php を適切に構成するよう強制する必要があります。enable/disable フックの戻り値は明らかに無視されます。

ユーザーが座っているブランチを切り落とすのを防ぐ必要があります:)

0 投票する
1 に答える
509 参照

php - Drupal 6 : ノードを表示するには?

現在、カスタム コンテンツ タイプを作成した Drupal 6 用のモジュールを開発しています。

hook_formなどを使用して、このコンテンツ タイプのノードを作成/更新/削除できますhook_insert

今私が欲しいのは、コンテンツリスト(タブ「ビュー」)でノードをクリックしたときにノードを表示することです。これを行う方法がわかりません。現在、Drupal は、タイトルにダッシュを 2 つ、本文にダッシュを 1 つだけ表示します。

と を使用hook_viewhook_nodeapiてみまし$op == 'view'たが、どちらも機能しないようです。

かなり基本的なことだと思いますが、私は Drupal の初心者であり、まだ理解していないことがたくさんあります。

どんなヒントも素晴らしいでしょう!ありがとう!

0 投票する
1 に答える
685 参照

drupal-7 - Drupal 7 で新しいフックを作成する

私は既存のフックを実装する方法を探しているのではなく、新しいタイプのフックを作成することを考えています。フックが存在するとしましょうhook_node_load()hook_node_preload()ノードがロードされる前に発火するようなものを作成したいと思います。

検索しましたが、Drupal コードのどこでフックが起動されているのかわかりません。私はそれが何かのようなmodule_invoke_all()ものだと思いますか?しかし、それがどこで呼ばれているかはわかりません。

0 投票する
1 に答える
448 参照

php - Drupal6:プライマリリンクにクエリ文字列を追加します

プログラムですべてのプライマリリンクにクエリ文字列「?device=mobile」を追加しようとしています。

私のテーマのpage.tpl.phpファイルで、次のことを試しました。

ただし、これは単にコードをページに印刷するだけです。現在、hook_menu_link_alterを使用しようとしていますが、これまでのところ成功していません。1つのプライマリリンクアイテムでコードをテストするために、以下のコードを試しました。

残念ながら、リンクに変更はありませんでした。また、template.phpファイルからhook_menu_item_link()を調査しますが、この時点で、誰かが私を正しい方向に向けてくれたら、私が間違ったことを知らせてほしいと思います。

ありがとう。

0 投票する
1 に答える
232 参照

php - 複数回呼び出されたワイルドカードローダー関数(_load)

ユーザーがページにアクセスするたびに過度に呼び出されるローダー関数があります。当然、ページリクエストごとに1回だけ実行する必要がありますが、代わりに複数回呼び出されます。以前、_load()はMENU_CALLBACKで2回しか実行されませんでしたが、デフォルトのMENU_NORMAL_ITEMでテストしたところ、4に増えました。元に戻してキャッシュをクリアしましたが、今でも4回実行されているので、1回だけ実行したいと思います。

私の質問は、なぜ私のローダー関数が複数回呼び出されるのですか?任意の洞察をいただければ幸いです。

0 投票する
1 に答える
264 参照

drupal - drupal 既存のモジュール (OG) に node_access フックを追加

なぜ私がそうする必要があるのか​​、なぜ私がそんなに変質者なのかを聞かないでください。

drupal 6 に Organic Groups モジュールがあります。何らかの理由で、このモジュールに node_access フックを追加する必要があります。

「og.module」ファイルまたはこのモジュールに接続されているファイルには、事前設定された node_access フックはありません (私はこれを確認しました)。次の本体で「og_node_access」関数を追加しようとしました:「echo '1111111'; return true;」どこにもトリガーしません(エコーはまったくありません)。og.module ファイルに追加しようとしました。

PS: OG のアクセス拡張をお勧めしないでください - 私はそれらをたくさん試しました。必要なのは:(疑似コード)

タクソノミー アクセス、コンテンツ アクセス、およびその他の「アクセス」モジュールは OG モジュールでは正しく動作しない (実際にはまったく動作しない) ため、ハードコーディングする必要があります。

PPS: OG は一種のたわごとであり、いくつかの代替手段があることは知っていますが、説明された方法でこれを行う必要があるだけです。

0 投票する
1 に答える
49 参照

php - Drupal、誰 (ユーザー名) が何をダウンロードした?

私はこの答えをほぼ一週間探していました。

認証されたユーザーがダウンロードしたファイルを管理者が確認する最も簡単な方法は何ですか? より具体的には、ユーザーのユーザー名とダウンロードしたファイルの名前が必要です。その後、特定の電子メール アドレスの登録を確認し、それをリード ジェネレーションに使用できます。

Google アナリティクスを試してみましたが、何をいつダウンロードしたかしかわかりません。どのユーザー名でダウンロードしたかはわかりません。

アイデア?

ありがとう

0 投票する
2 に答える
3446 参照

drupal-7 - Drupal7hook_schemaがデータベーステーブルをインストールしていません

どんな助けでも素晴らしいでしょう。

次のエラーが発生します

注意:未定義のインデックス:DatabaseSchema_mysql-> processField()と入力します(/Users/richardskinner/Sites/www.goldrushmoney.com-local/httpdocs/includes/database/mysql/schema.incの205行目)。注意:未定義のインデックス:: DatabaseSchema_mysql-> processField()の通常(/Users/richardskinner/Sites/www.goldrushmoney.com-local/httpdocs/includes/database/mysql/schema.incの205行目)。PDOException:SQLSTATE [42000]:構文エラーまたはアクセス違反:1064SQL構文にエラーがあります。MySQLサーバーのバージョンに対応するマニュアルで'DEFAULTNULLの近くで使用する正しい構文を確認してください)ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COMMENT' Table to stor' at line 13:CREATE TABLE {request_gold_pack_customer_details}(ridINT NOT NULL DEFAULT 0、titleVARCHAR(10)NOT NULL DEFAULT''、first_nameVARCHAR(50)NOT NULL DEFAULT''、last_nameVARCHAR(50)NOT NULL DEFAULT''、house_name_noVARCHAR(50)NOT NULL DEFAULT''、streetVARCHAR(160)NOT NULL DEFAULT''、townVARCHAR(50)NOT NULL DEFAULT''、countyVARCHAR(50)NOT NULL DEFAULT''、telephoneINT NOT NULL DEFAULT''、emailVARCHAR(255)NOT NULL DEFAULT''、date_registeredDATETIME NOT NULL、primaryDEFAULT NULL)ENGINE = InnoDB DEFAULT CHARACTER SET utf8COMMENT'すべての顧客の詳細を格納するテーブル。 '; db_create_table()の配列()(/Users/richardskinner/Sites/www.goldrushmoney.com-local/httpdocs/includes/database/database.incの2688行目)。

何時間も解決策を見つけようとしてきました。

ありがとう。

0 投票する
1 に答える
377 参照

javascript - Drupal を使用してライトボックスに「ノード/追加」フォームを印刷する

ライトボックスに「ノード/追加」フォームを印刷する際に問題が発生しています。

私はcustom.moduleこのhook_menuようなものを持っています:

... ここで、% は「story_node_form」などの ID です。

次に、次のようなコールバック関数があります。

フォームはライトボックスに正しく表示されます。問題は、フォームの JavaScript (wysiwyg、ノード参照、用語参照など) が機能しないことです。

を実行しようとしましたがDrupal.attachBehaviors()、何も機能しDrupal.attachBehaviors(document)Drupal.attachBehaviors("#story-node-form")いないようです。

誰でも助けることができますか?