web-dev-qa-db-fra.com

Comment passer, avec un bouton personnalisé, les éléments sélectionnés à un contrôleur?

Comme on le voit dans cette question ( Ajout d'un bouton personnalisé à un composant principal du système ), j'ai créé un plugin simple qui ajoute un bouton personnalisé au composant com_content.

Lorsque je clique sur ce bouton, le site est redirigé vers le contrôleur my_component, tâche d'envoi. Mais tous les éléments sélectionnés sont envoyés au contrôleur my_component.

Que dois-je faire pour transmettre l'identifiant des articles sélectionnés à mon contrôleur?

Voici la source de mon plugin:

class plgSystemSubscripcions extends JPlugin {
    public function onBeforeRender() {
        $app = JFactory::getApplication();

        if ($app->isAdmin() === true) {
            $input = $app->input;

            if (($input->getCmd('option') === 'com_content' && $input->getCmd('view', 'articles') ===  'articles') ||
                ($input->getCmd('option') === 'com_docman'  && $input->getCmd('view', 'documents') === 'documents')) {
                $toolbar = JToolbar::getInstance('toolbar');

                $url = JRoute::_('index.php?option=com_my_component&task=send&format=raw');
                $toolbar->appendButton('Link', 'mail', 'Mass email', $url);
            }
        }
    }
}
5
mHouses

Votre bouton appelle uniquement l'action GET. Cela signifie que tous les champs de saisie ne sont pas traités, mais que les éléments sélectionnés sont des champs de saisie. Voir le même problème dans cette question .

Honnêtement, je ne vois aucun moyen de les transmettre ... Si votre bouton pouvait soumettre un formulaire qui ferait l'affaire, mais si je comprends bien, ce n'est pas possible pour les boutons personnalisés.

2
Dmitry Rekun