私はjoomla 2.5と3の両方のmvcコンポーネントを開発しています。多くのコンポーネントで、管理者側の設定ページの上部に新規、編集、公開、ゴミ箱、オプションなどのjoomlaのデフォルトのコマンドボタンを追加しました。例えば。コンポーネント->ウェブリンク->リンクページに行くと、右上にあるコマンドボタンについて話している。
では、コンポーネントの設定ページにコマンドボタンを追加するにはどうすればよいですか?クリックすると、それぞれのアクションが実行され、それぞれのビューが表示されます。たとえば、「新規」ボタンをクリックすると、MVCコンポーネントのエントリの追加ビューがそのまま表示されます。
それで、管理者側のコンポーネントの設定ページに完全に機能するjoomlaのコマンドボタンを追加するにはどうすればよいでしょうか。
ベストプラクティスは、Viewクラス内にaddToolBar()
メソッドを作成し、次にJToolBarHelper
クラスを使用してコマンドボタンを作成することです。
_protected function addToolBar()
{
JToolBarHelper::addNew('yourcontroller.add');
JToolBarHelper::editList('yourcontroller.edit');
}
_
したがって、これらは指定されたコントローラーでタスク/関数「add」/「edit」を呼び出します。次に、ビューの$this->addToolBar()
メソッドでdisplay()
を呼び出すだけです。
リファレンス コンポーネントのツールバーの作成
ボタンを表示するビューに送信するフォームがあることを確認する必要があります。フォーム名はadminFormにする必要があります。フォームにはtaskという名前の非表示フィールドと動的に生成されたトークンも必要です。私は頭の上からAPIを思い出すことはできませんが、JHtml::_('form.token');
のようなもの(私が間違っている場合は、誰かがこれを修正してください)
これでうまくいきます。