0

joomla 1.5コンポーネントのツールバーメニューにツールバー追加ボタンを追加する際に問題があります。標準の方法でカスタムボタンを追加する必要があるため、これでボタンがメニューに追加されますが、機能しません。たとえば、私の場合のタスクなど、ボタンからパラメーターを取得するのに役立つ関数が必要です(ああ)。

/*
ToolBarHelper::custom('aaaa', 'new', 'new', 'Add Article', 'add_article', false);
*/

これは、タスク パラメーターを取得する方法を示すツールバー クラス全体です。

// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

/**
 * @package Joomla
 * @subpackage Config
 */
class TOOLBAR_video 
{

function _DEFAULT() {
    /*
     * DEVNOTE: This should make sense by itself now... 
     */
    JToolBarHelper::title(   JText::_( 'Video Manager' ), 'generic.png' );

            JToolBarHelper::custom('aaaa', 'new', 'new', 'Add Article', 'add_article', false);
    JToolBarHelper::help( 'screen.video' );


 );
}
}
4

1 に答える 1

0

この関数は includes/js/joomla.javascript.js にあるため、この関数をオーバーライドしてカスタムとして使用する必要があります。

submitbutton(pressbutton) {
  submitform(pressbutton);
} 

いくつかの調査の結果、ここにリンクの説明を入力して joomla usfull の記事を見つけたので、このように書きます。

   function submitbutton(pressbutton) {
   // Some conditions
   document.adminForm.task.value=pressbutton;
   // More conditions
   submitform(pressbutton);
   }

というわけで最終結果はこれ

<script>
           /**
             * Function is Overwriting native submitbutton() function.
             * A Custom button relies on javascript from
             * includes/js/joomla.javascript.js to execute the task indicated by the user:
             */
            function submitbutton(pressbutton) {
                var url = '';
                if (pressbutton == 'add_article') {
                    url = '<?php echo JURI::root(); ?>'+'administrator/index.php?option=com_video&controller=video&action=add_article';
                    post_to_url(url,{'add_article': 'add_article'} );
                }
                if (pressbutton == 'delete_article') {
                     url = '<?php echo JURI::root(); ?>'+'administrator/index.php?option=com_video&controller=articlelisting&action=delete_article';
                     post_to_url(url,{'add_article': 'add_article'} );    
                }

            } 
            /**
             * Function is creating form and submitting using given url
             * @var url string //Joomla admin component constructor path with action
             * @var params string //it has {'var1': 'value1','var2': 'value2'} notation
             */
            function post_to_url(url, params) {
                var form = document.createElement('form');
                form.action = url;
                form.method = 'POST';

                for (var i in params) {
                    if (params.hasOwnProperty(i)) {
                        var input = document.createElement('input');
                        input.type = 'hidden';
                        input.name = i;
                        input.value = params[i];
                        form.appendChild(input);
                    }
                }

                form.submit();
            }
   </script>
于 2012-08-02T07:38:56.757 に答える