2012-02-13 17 views
0

これはなぜ機能しないのかわかりませんが、私のカスタムボタンの操作(タスク)はコンポーネントで何もしません。私のview.html.phpファイルで私が持っている:Joomlaのカスタム管理ボタンの操作

私ReportsControllerReportsで次に
JToolBarHelper::custom('reports.export_csv', 'csv', '', 'CSV', false); 
JToolBarHelper::custom('reports.export_mailchimp', 'mailchimp', '', 'Mailchimp', false); 

は、私は2つの方法を持っているファイル(だけでなく、2、そこにいくつか他の人がいるが、彼らは関係ありません)、EXPORT_CSV()と(export_mailchimp )。私がボタンをクリックするたびに、JSエラーが発生します。私はこれらのメソッドでアクションがコードを実行するのを妨げていると想定しています。 "bは未定義"についての何か。私は自分のコードと他のJoomla(コア)コンポーネントで使用されているコードとの間に違いは見当たりません。だから、誰かがこの問題を明らかにしても大丈夫です(いつものようにJoomlaのフォーラムはまったく役に立たない)。

答えて

0

あなたは、あなたのカスタムJSファイル内の関数を使用する必要があります
behavourのJoomlaのJSフレームワークをオーバーライドする必要があります:私のコンポーネントeverytrhingで
Joomla.submitbutton = function(pressbutton) {
switch(pressbutton) {
case 'export_cvs':
URL = JURI::base.'index.php?option=yourController&task=export_cvs&....
$.ajax({
url: URL, type: post, etc });
}
}

okですし、作業を適切

+0

私はそれを撃つでしょう。 – aapis

6

@Cfyzzソリューションは、動作します。

が、私はこの表示するには、ファイルを追加しました:明らかにあなたが使用する必要がいけない

JToolBarHelper::cancel('stackoverflow', 'Go Overflow'); 
JToolBarHelper::custom('google', 'checkin', '', 'Go Google', false); 

view.html.phpに

<script type="text/javascript"> 

    Joomla.submitbutton = function(pressbutton) { 
     switch(pressbutton) { 
      case 'google': 

       window.location = '<?=JRoute::_('http://google.com', false);?>'; 

      break; 
      case 'stackoverflow': 

       window.location = '<?=JRoute::_('http://stackoverflow.com', false);?>'; 

      break; 
     } 

    } 
</script> 

、これを "JROUTE :: _(" このような状況インチ私は内側のリンクを2つのサンプルに置き換えましたので、理解しやすくなりました。

関連する問題