2016-04-06 9 views
1

私はJtoolBarHelperメソッドの動作方法を数週間は理解しようとしています。JToolBarHelperメソッドはどのように機能しますか?

あなたは、このようなビュークラスで呼び出されるメソッド見ることができます:今JToolBarののgetInstanceメソッドにチェックし、そう

public static function addNew($task = 'add', $alt = 'JTOOLBAR_NEW', $check = false) 
{ 
    $bar = JToolBar::getInstance('toolbar'); 
    // Add a new button. 
    $bar->appendButton('Standard', 'new', $alt, $task, $check); 
} 

:ここ

JToolBarHelper::addNew('controllername.methodname'); 

を、JToolBarHelperのAddNewメソッドは次のように使用しています

new JToolBar($name);を返します。私はまた、コンストラクタ関数をチェックインすることを保証しました。しかし、どこにaddNew()メソッドのパラメータがどのように分かれているのか分かりません。 Joomlaはドットの前の名前がコントローラ名で、後の名前がメソッド名であることを知っています。

また、Joomla.submmitbutton('controllername.methodname');のjavascript codeでチェックされていますが、見つけられませんでした。

私の質問は、JToolBarHelperメソッドに渡されたパラメータがドットの前にコントローラ名であることを知る方法です。

答えて

0

このコントローラ分割は、Joomlaのコアコントローラファイルによって処理されます。ファイルパスはバージョンによって異なります。

JControllerLegacyはlibraries/joomla/controller/legacy.php,libraries/cms/controller/legacy.phpまたはlibraries/legacy/controller/legacy.phpのいずれかで定義されます。最新のJoomlaのバージョンで。

古いバージョンでは、希望/libraries/joomla/application/component/controller.php

を使用し、それが理にかなっています!

+0

申し訳ありませんが、私はすでに知っています。しかし、タスクがコントローラー名とメソッド名にどのように分かれているかを知りたい。これを行うファイルを指摘していただけますか? –

+0

コアコントローラーのパスは、Joomlaのバージョンによって異なります。最新バージョンの 'libraries/legacy/controller/legacy.php'メソッド' getInstance() ' –

+0

joomla 2.5はありますか? –

関連する問題