問題タブ [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.
php - hook_form を使用してフロントエンド ノード フォームを作成するにはどうすればよいですか?
カスタム モジュールを作成し、'hook_form' を使用してカスタム フォームを作成しました。次に、メニューコールバックを使用して新しいページを作成し、このフォームを挿入しました
このフォームは、基本的にフロントエンドからノードを作成することです。バックエンドと同じフィールドがすべてあります。
フォームコード:
}
これを保存するにはどうすればよいですか、またはこれが特定のコンテンツ タイプ用であることを hook_form に伝えるにはどうすればよいですか? node_save の使用方法は知っていますが、hook_form でこれを実装する方法がわかりません。
自分が望むものを達成するにはどうすればよいですか?
ありがとうロバート
drupal - .install ファイルによるモジュールの有効化/無効化の防止
settings.php の $conf でオーバーライドされた値に依存するモジュールを作成しました。具体的には、$conf[session_inc] で設定されたカスタム セッション ハンドラです。
このオーバーライドは、モジュールが機能するために存在する必要があり、モジュールが無効化/アンインストールされている場合は存在しない必要があります。
.install ファイル内から有効化/無効化プロセスを停止する方法はありますか? これらのアクションの前に、ユーザーに settings.php を適切に構成するよう強制する必要があります。enable/disable フックの戻り値は明らかに無視されます。
ユーザーが座っているブランチを切り落とすのを防ぐ必要があります:)
php - Drupal 6 : ノードを表示するには?
現在、カスタム コンテンツ タイプを作成した Drupal 6 用のモジュールを開発しています。
hook_form
などを使用して、このコンテンツ タイプのノードを作成/更新/削除できますhook_insert
。
今私が欲しいのは、コンテンツリスト(タブ「ビュー」)でノードをクリックしたときにノードを表示することです。これを行う方法がわかりません。現在、Drupal は、タイトルにダッシュを 2 つ、本文にダッシュを 1 つだけ表示します。
と を使用hook_view
しhook_nodeapi
てみまし$op == 'view'
たが、どちらも機能しないようです。
かなり基本的なことだと思いますが、私は Drupal の初心者であり、まだ理解していないことがたくさんあります。
どんなヒントも素晴らしいでしょう!ありがとう!
drupal-7 - Drupal 7 で新しいフックを作成する
私は既存のフックを実装する方法を探しているのではなく、新しいタイプのフックを作成することを考えています。フックが存在するとしましょうhook_node_load()
。hook_node_preload()
ノードがロードされる前に発火するようなものを作成したいと思います。
検索しましたが、Drupal コードのどこでフックが起動されているのかわかりません。私はそれが何かのようなmodule_invoke_all()
ものだと思いますか?しかし、それがどこで呼ばれているかはわかりません。
php - Drupal6:プライマリリンクにクエリ文字列を追加します
プログラムですべてのプライマリリンクにクエリ文字列「?device=mobile」を追加しようとしています。
私のテーマのpage.tpl.phpファイルで、次のことを試しました。
ただし、これは単にコードをページに印刷するだけです。現在、hook_menu_link_alterを使用しようとしていますが、これまでのところ成功していません。1つのプライマリリンクアイテムでコードをテストするために、以下のコードを試しました。
残念ながら、リンクに変更はありませんでした。また、template.phpファイルからhook_menu_item_link()を調査しますが、この時点で、誰かが私を正しい方向に向けてくれたら、私が間違ったことを知らせてほしいと思います。
ありがとう。
php - 複数回呼び出されたワイルドカードローダー関数(_load)
ユーザーがページにアクセスするたびに過度に呼び出されるローダー関数があります。当然、ページリクエストごとに1回だけ実行する必要がありますが、代わりに複数回呼び出されます。以前、_load()はMENU_CALLBACKで2回しか実行されませんでしたが、デフォルトのMENU_NORMAL_ITEMでテストしたところ、4に増えました。元に戻してキャッシュをクリアしましたが、今でも4回実行されているので、1回だけ実行したいと思います。
私の質問は、なぜ私のローダー関数が複数回呼び出されるのですか?任意の洞察をいただければ幸いです。
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 は一種のたわごとであり、いくつかの代替手段があることは知っていますが、説明された方法でこれを行う必要があるだけです。
php - Drupal、誰 (ユーザー名) が何をダウンロードした?
私はこの答えをほぼ一週間探していました。
認証されたユーザーがダウンロードしたファイルを管理者が確認する最も簡単な方法は何ですか? より具体的には、ユーザーのユーザー名とダウンロードしたファイルの名前が必要です。その後、特定の電子メール アドレスの登録を確認し、それをリード ジェネレーションに使用できます。
Google アナリティクスを試してみましたが、何をいつダウンロードしたかしかわかりません。どのユーザー名でダウンロードしたかはわかりません。
アイデア?
ありがとう
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}(
rid
INT NOT NULL DEFAULT 0、title
VARCHAR(10)NOT NULL DEFAULT''、first_name
VARCHAR(50)NOT NULL DEFAULT''、last_name
VARCHAR(50)NOT NULL DEFAULT''、house_name_no
VARCHAR(50)NOT NULL DEFAULT''、street
VARCHAR(160)NOT NULL DEFAULT''、town
VARCHAR(50)NOT NULL DEFAULT''、county
VARCHAR(50)NOT NULL DEFAULT''、telephone
INT NOT NULL DEFAULT''、date_registered
DATETIME NOT NULL、primary
DEFAULT NULL)ENGINE = InnoDB DEFAULT CHARACTER SET utf8COMMENT'すべての顧客の詳細を格納するテーブル。 '; db_create_table()の配列()(/Users/richardskinner/Sites/www.goldrushmoney.com-local/httpdocs/includes/database/database.incの2688行目)。
何時間も解決策を見つけようとしてきました。
ありがとう。
javascript - Drupal を使用してライトボックスに「ノード/追加」フォームを印刷する
ライトボックスに「ノード/追加」フォームを印刷する際に問題が発生しています。
私はcustom.module
このhook_menu
ようなものを持っています:
... ここで、% は「story_node_form」などの ID です。
次に、次のようなコールバック関数があります。
フォームはライトボックスに正しく表示されます。問題は、フォームの JavaScript (wysiwyg、ノード参照、用語参照など) が機能しないことです。
を実行しようとしましたがDrupal.attachBehaviors()
、何も機能しDrupal.attachBehaviors(document)
てDrupal.attachBehaviors("#story-node-form")
いないようです。
誰でも助けることができますか?