問題タブ [joomla-task]
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 - コントローラータスク joomla からビューメソッドを呼び出す
MVC 経由で Joomla2.5 コンポーネントを作成しようとしています。エントリーポイントの task=jump から view.xml.php で定義された mydisplay() メソッドにコントローラを向けたい。ありがとう。
/ROOT/components/com_api/views/api/view.xml.php
ROOT/components/com_api/api.php(エントリーポイントコントローラー)
ROOT/components/com_api/controller.php(タスク=ジャンプのコントローラー)
task=jump を実行した後、view.xml.php で mydisplay() メソッドを呼び出すにはどうすればよいですか?
php - Joomla 2.5 サイト タスクが起動しない
これが私の問題です。JSON タスクにデータを送信するフォームがあります。ただし、何をしてもタスクは実行されません。次のエラーが表示されます。
Invalid controller: name='controls', format='json'
私が見る限り、コントローラーの実行を妨げるものは何もありません。これがコードです。
これはもちろんサイトcontrollers
フォルダーにあり、名前が付けられていますcontrols.json.php
これを、ほぼ同じことを行う管理パネルで使用している別のコントローラーと一致させましたが、サイトではなく管理で機能します。
これを呼び出すために使用している JRoute は次のとおりです。
index.php?option=com_helloworld&task=controls.postal&format=json
私が見落としているものはありますか?
編集:
明確にするために、タスクを直接呼び出す必要があります。JSON 形式で生データを出力するだけなので、ビューは必要なく、モデルとコントローラーのみが必要です。現在、私はまだテスト中であるため、モデルはまだ必要ありません。
編集2:
回答の一部が見つかりましたが、この回答はそれほど素晴らしいものではないため、開いたままにします。Joomlaが「サイト」部分でMVCを設定する方法に基づいて(私のテストに基づいて)不可能です。常に最初にビューを探し、次にコントローラーを探します。ビューが設定されていることを確認することによってのみ、タスクを起動できました。MVC を正しく構築していないオープン ソース フレームワークは非論理的であるように思われるため、私が間違っていたり、テストから誤解されたりする可能性があります。
したがって、これを修正するには、「ビュー」を「コントローラー」として使用する必要があります。