いくつかのフィールドといくつかのリンクアイテムを含むビューがあります。
リンク項目をクリックすると、リンクに関連付けられたノード作成フォームがビュー内に表示されます(AJAXの方法)。
私が考えることができる解決策は、ビュー内にフォームを埋め込むことですが、それを行う方法がわかりませんか?
これを実装する最良の方法は何ですか?
いくつかのフィールドといくつかのリンクアイテムを含むビューがあります。
リンク項目をクリックすると、リンクに関連付けられたノード作成フォームがビュー内に表示されます(AJAXの方法)。
私が考えることができる解決策は、ビュー内にフォームを埋め込むことですが、それを行う方法がわかりませんか?
これを実装する最良の方法は何ですか?
回答:
これがあなたに役立つことを願って、
Drupal 7では、次の手順で達成できます
VIEW内にノード作成フォームを埋め込むことができます
この例では、ビューヘッダー内に埋め込みます。Viewsヘッダー内に埋め込むのがより良いオプションです。クリックしてビューヘッダーを追加
グローバルを選択:テキスト領域
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';
ます
admin / modulesを使用してPHPフィルターモジュールを有効にする
より良い解決策がある場合は、それを共有してください。
これについては、インラインエンティティフォームをご覧ください。Commerce Kickstartは、これを製品と製品バリエーションを管理するためのレシピの一部として採用しています。今思い出すことができるよりももっとたくさんあると確信していますが、これが有望であると思われる場合、私は戻ってこの回答を改善します(または、おそらく他の人がこの回答の改善に役立つでしょう)。
潜在的な代替(または補完的な?)モジュールはEntity Views Attachかもしれません。これはコマースキックスタートでも採用されていると思います。
inizioが投稿したViews Headersソリューションにコメントすることはできません。評判が足りません。
まあ私は投稿した後、Rulesを使用してフォームのリダイレクトを解決でき、カスタムモジュールhook_form_alterを作成する必要がないことを投稿したいと思います。
あまりにも役立ちますフォームをブロックし、高度なフォームブロックのモジュールが、ビューのヘッダにPHPのコードを入れて、あなたは余分なモジュールをインストールすることを防止します
そして、終わりました!