いくつかのフィールドといくつかのリンク項目を持つビューがあります。
リンク項目をクリックすると、リンクに関連付けられたノード作成フォームがビュー内に表示されます(AJAX方法))。
私が考えることができる解決策は、ビュー内にフォームを埋め込むことですが、それを行う方法がわかりませんか?
これを実装する最良の方法は何ですか?
これがあなたを助けることを願って、
Drupal 7では、次の手順で達成できます
ノード作成フォームをVIEW内に埋め込むことができます
この例では、Views Headerの中に埋め込みます。 Views Header内に埋め込むのがより良いオプションになります。クリックしてビューヘッダーを追加
グローバルを選択:テキスト領域
PHPコードを追加し、テキスト形式をPHPに変更することを忘れないでください)
PHPコード
<?php
module_load_include('inc', 'node', 'node.pages');
$node_form = node_add('node_type');
print drupal_render($node_form);
?>
注意 :
PHPコード内のnode_type)を置き換えることを忘れないでください。
ノードフォームのリダイレクトには、hook_form_alterを使用します。ノードの作成後、フォームはノードの詳細ページにリダイレクトされます。ページにリダイレクトする場合は、$form_state['redirect'] = 'mycustompage';
reference を使用します
admin/modulesを使用してPHP Filterモジュールを有効にする
より良い解決策がある場合は、それを共有してください。
これについては インラインエンティティフォーム をご覧ください。 Commerce Kickstartは、これを製品と製品バリエーションを管理するためのレシピの一部として採用しています。今思い出すことができるよりももっとたくさんあると確信していますが、これが有望であると思われる場合、私は戻ってこの回答を改善します(または、おそらく他の人がこの回答の改善に役立つでしょう)。
潜在的な代替(または補完的な?)モジュールは Entity Views Attach になる可能性があり、これはコマースキックスタートでも採用されていると思います。
カスタムコードを試して満足している場合は、StackOverflowで同様の質問が行われ、ビュー内にフォームを埋め込むためのかなり広範なソリューションがいくつかありました。あなたがしなければならないのは、あなたのタイプに固有のノード作成フォームのform_idを使用し、サイト内に投稿されたソリューションの1つ here 内に配置することだけです。
Inizioが投稿したViews Headersソリューションにコメントすることはできません。評判が足りません。
Rules を使用して送信後にフォームのリダイレクトを解決できることを投稿したいと思います。カスタムモジュールthe hook_form_alterを作成する必要はありません。
Form Block とAdvanced Form Blockモジュールも便利かもしれませんが、PHPコードをビューヘッダーに配置すると、追加のモジュールをインストールできなくなります
そして、終わりました!