質問: コンポーネントで行うように、モジュールからフォームを表示して保存する方法は? jmodeladminクラスを使用して、joomla mvcコンポーネントでフォームを表示および保存します。しかし、モジュールから同じことをするにはどうすればよいですか?モジュールは対応するビュー、モデル、コントローラーを自動的に見つけるmvcの方法では機能しません。だから私はこの投稿で述べられていることに従ってフォームを表示すると思います モジュールからコンポーネントのフォームを取得する方法? が、関連するモジュールでフォームの送信ボタンがクリックされた場合、jmodeladmin classesを使用して送信をキャッチして保存するにはどうすればよいですか?
回答: フォームの送信はurlに移動する必要があるため、モジュールを使用した送信は少し難しいです。モジュールからの入力を受け入れるためだけにコンポーネントを作成しなければならないのは面倒です。この問題があるため、joomla 3ではmatt thomasがcom_ajaxというコンポーネントを作成しました。 com_ajaxは、コンポーネントのように操作する特定のurlがなかった場合に、モジュールでモジュールを実行するのを支援するように設計されたコンポーネントです。あなたのケースは、com_ajaxが対処するために設計されたものとまったく同じです。これを使用するためのドキュメントは次のとおりです。 http://docs.joomla.org/using_joomla_ajax_interface モジュールで最終的に行うのは、送信urlを介して実行されるを作成することです。フォームの送信を支援するためにいくつかのjavascriptを使用する必要があると思いますが、それが完全に必要かどうかはわかりません(ただし、よりセクシーです)。次に、ヘルパーでモジュールのクラスを設定します。 https://github.com/joomla-ajax-interface/ajax-session-module/blob/master/helper.php#l12 getajax()メソッドで設定します: https://github.com/joomla-ajax-interface/ajax-session-module/blob/master/helper.php#l12 jfactory :: getapplication()-> input()を介してフォーム送信データのプルを処理するには次に、何らかの応答を返します。おそらく、成功またはエラーメッセージであるjson文字列のようなものです。うまくいけば、これが役立ちます!