Joomla пользовательские действия кнопки администратора - PullRequest
0 голосов
/ 14 февраля 2012

Я понятия не имею, почему это не работает, но ни одно из моих действий (задач) с пользовательскими кнопками ничего не делает в моем компоненте. В моем файле view.html.php у меня есть:

JToolBarHelper::custom('reports.export_csv', 'csv', '', 'CSV', false);
JToolBarHelper::custom('reports.export_mailchimp', 'mailchimp', '', 'Mailchimp', false);

Тогда в моем файле ReportsControllerReports у меня есть 2 метода (не только 2, есть некоторые другие, но они не актуальны), export_csv () и export_mailchimp (). Всякий раз, когда я нажимаю кнопки, я получаю ошибку JS, которая, как я полагаю, препятствует выполнению действия в этих методах. Кое-что о "b не определено". Я не могу найти каких-либо различий между моим кодом и тем, что используется в других компонентах Joomla (ядра), поэтому, если кто-то сможет пролить свет на эту проблему, он будет очень признателен (как обычно, форумы Joomla совершенно бесполезны).

Ответы [ 2 ]

6 голосов
/ 13 ноября 2012

@ Cfyzz решение работает.

Я добавил это для просмотра файла:

<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>

и это в view.html.php

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

Очевидно, что в этой ситуации вам не обязательно использовать "JRoute :: _ (". Я заменил внутренние ссылки на 2 примера, чтобы их было легче понять.

0 голосов
/ 20 февраля 2012

Вы должны переопределить поведение JS Framework JoomlaВы должны использовать эту функцию в своем JS-файле:Joomla.submitbutton = function(pressbutton) {<br/> switch(pressbutton) {<br/> case 'export_cvs':<br/> URL = JURI::base.'index.php?option=yourController&task=export_cvs&....<br/> $.ajax({<br/> url: URL, type: post, etc });<br/> }<br/> } В моем компоненте все в порядке и работает нормально

...