問題タブ [drupal-node-hook]

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 に答える
696 参照

drupal - Drupal 5:カスタムコンテンツタイプのCCKフィールド

NodeAPIフック(など)を介してカスタムコンテンツタイプを実装するモジュールがありhook_insertますhook_update。このコンテンツタイプにCCKフィールドを追加し、createやupdateなどのhook_nodeapi呼び出しを介してデータを入力します(ビューにコンテンツノードを表示するため)。

問題は、このコンテンツタイプのCCKフィールドにアクセスできないことです。field_flag確かに、[フィールドの管理]ページで有効になっていますが、このタイプのノードをDevelモジュールでロードすると、ノードオブジェクトにフィールド属性()が表示されません。のように「コンテンツ」属性の一部として「開発レンダリング」タブの下に表示されますが、または$node->content['field_flag']['#value']に値を割り当てて呼び出すと、CCKフィールドは保存されません。$node->field_flag$node->content['field_flag']['#value']node_save

たぶん私はCCKフィールドを保存するために他の関数を呼び出さなければなりませんか?または、この設定の何が問題になっている可能性がありますか?

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

php - Drupalで親アイテムのタイトルをロードするにはどうすればよいですか

階層リンクを表示できるように、親ノードのタイトルでノードを拡張したいと考えています。

私は時々うまくいく解決策を持っています:

これは、アイテムのタイトルがメニュー タイトルと同じである限り機能します。しかし、私は常に機能するソリューションを探しています。何か案は?

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

drupal - Drupalのモジュールコードに触れることなく、ノード(ブックまたはページ)を保存する前に更新するにはどうすればよいですか?

実際にデータをDBに書き込む前に、ノードにいくつかの値を設定したいと思います。私はすでにbook_nodeapiを変更して動作させていますが、コードの外部から実行したいと思います。モジュールコードをそのままにしておくことができる_alterオプションがあれば便利です。

ありがとう

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

drupal-6 - グローバル設定のDrupalcckチェックボックス

コンテンツタイプ「ニュース」の「スティッキー」チェックボックスを作成しています。これは、1つのニュースノードがスティッキーであり、ボックスのようなバナーで使用されることを意味します。

これは、cckcreatecontentフォームのチェックボックスでマークされています。

チェックボックスはnode_apiによって処理されます。

だから私はチェックします:$ op='update'と$node->type='news'の場合​​...ロジック。

理由はわかりませんが、私のnoeの処理はすべてそこで行われるため、これが最善の方法ではないようです。

これを処理するためのより論理的な方法/場所はありますか?

@編集、

また、これをアクティブにするために追加のモジュールを作成する必要があります。私はこの一般的なことのいくつかを処理する「一般的な」モジュールを持っています」

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

drupal - フォーム送信時にCCKノード参照フィールドの値を自動的に設定するにはどうすればよいですか?

異なるコンテンツタイプ(B)の単一ノードを参照するコンテンツタイプ(A)があります。参照されるノード(B)は、この新しいノードを作成するユーザーの情報を使用してプログラムで決定できます(A)...各ユーザーは参照されるコンテンツタイプ(B)の単一のノードのみを作成できるため、この単一のノードは常にユーザーが作成するコンテンツタイプBのノードから参照されます。

参照されるノードは常に既知であるため、ユーザーが参照値を入力する必要はなく、バックグラウンドで設定する必要があります。私はこれを行うことについて多くのスレッドを見つけましたが、どれも明確でなく、実際に私にとってうまくいくようには見えません。

どんな助けでも大歓迎です。

注:Drupal 6

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

drupal - 最初の作成時にプログラムでノードを作成すると、同じパスを持つ 2 つのノード

私のサイトには、ジャーナリストがスライドショーを作成するために複数の画像を含む記事を作成するときに、「ギャラリー」タイプのノードを作成するボックスをチェックして、ギャラリーとして表示する画像を含めることができる機能があります。 . (より大きなレイアウト、別のカルーセル)。

ストーリー コンテンツの作成フォームで [保存] ボタンをクリックした後、ストーリー ノードの保存中にギャラリー ノードを作成すると、ギャラリーとストーリーの両方が同じパスを共有するため、どちらも同じ URL になり、両方がポイントします。ギャラリー ノードにアクセスできません。

hook_nodeapi のさまざまな操作 (保存、更新、保存) でギャラリーの保存操作を実行しようとしました。しかし違いはありません。ノードオブジェクトの特定のパラメーターを設定して、パスエイリアスを強制的に実行し、別のパラメーターで設定されることを望んでいます。

どんなアイデアでも大歓迎です、ありがとう

更新: URL エイリアス構成でギャラリーの命名設定を変更しただけで、「/gallery/」を含むパスが作成されました。

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

php - drupal フォーム送信関数が呼び出されないのはなぜですか?

うーん、これはおそらく単純なことですが、それは私を夢中にさせています。hook_nodeapi() を使用してノードに挿入する単純なフォーム (送信ボタンのみ) があります。正しく挿入され、送信時にページが更新されますが、 form_submit() 関数にヒットすることはありません。コードは次のとおりです。

submit 関数に echo と die() を追加しようとしましたが、絶対に呼び出されません。$form['#submit'] 宣言を省略しようとしましたが、デフォルトで処理されるはずですが、役に立ちませんでした。私は何かばかげたことを見逃しているに違いないことを知っています。何か案は?

また、奇妙に思われることの 1 つは、フォームが次のタグでレンダリングされることです。

フォームIDに「-1」を追加するのは正常ですか?

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

drupal-6 - 新しいノードを保存した後にカスタム メッセージを設定する

ユーザーが新しいノードを送信した後に表示されるカスタム メッセージを設定しようとしています。このメッセージは、標準の「@type %title が作成されました」に置き換わるものです。

「挿入」の $op で hook_nodeapi を使用しようとしましたが、モジュールの重みをどのように変更しようとしても、カスタム メッセージは常にコア drupal メッセージの前に最初に表示されます。

独自のメッセージを送信する前に元のメッセージを削除するために drupal_get_messages() を呼び出す必要があるため、これは機能しません。

このワークフローは私を狂気に駆り立てています。誰かが私を正しい方向に向けるのを手伝ってくれますか?

乾杯。

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

drupal - Drupalのhook_nodeapiは、新しいノードを追加するときに、操作「挿入」の前に操作「更新」と一致します

新しいノードを追加するとき、または既存のノードを編集するときにノードに変更を加えるモジュールに取り組んでいます。

しかし、新しいノードを追加するとき、hook_nodeapiの操作はcase"update"とcase"insert"に一致し、 case"insert"のみに一致すると想定されることがわかりました。

それを正しい方法で行う方法、または「更新」の場合と「挿入」の場合を区別する方法はありますか?

Drupal6を使用しています

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

drupal - Drupal 6: 特定のノード タイプが作成されたときに PHP コードを実行する方法

私は成功せずに長い間グーグルで検索しました。Drupal 6 Web サイトで特定のタイプの新しいノードが作成 (または挿入) されたときに、いくつかの php コードを実行しようとしています。

私はそのようなことをしなければならないようです:

しかし、この関数がいつ呼び出されるのか、このコードをどこに配置すればよいのかわかりません。道に迷いました。誰かが私にいくつかのヒントを与えることができれば、それは素晴らしいことです.