問題タブ [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.

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

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() メソッドを呼び出すにはどうすればよいですか?

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

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 を正しく構築していないオープン ソース フレームワークは非論理的であるように思われるため、私が間違っていたり、テストから誤解されたりする可能性があります。

したがって、これを修正するには、「ビュー」を「コントローラー」として使用する必要があります。