web-dev-qa-db-fra.com

Quel contrôleur effectue-t-il la publication de données à l'aide d'un composant?

J'utilise Joomla depuis deux semaines et cela semble simple jusqu'à présent et je comprends le code dans des exemples. J'ai créé avec succès un module personnalisé qui s'affiche sur le front-end.

Maintenant, j'essaie de développer un composant personnalisé qui est beaucoup plus difficile. Fondamentalement, il prend une forme du début à la fin et je veux faire quelque chose avec les données envoyées sur le backend. Je vais probablement enregistrer dans la base de données, mais pour le moment, je souhaite simplement récupérer ces données et éventuellement les enregistrer dans un fichier texte.

Supposons que j'ai une fiche comme celle-ci sur la vue frontale créée par mon composant ...

<form action="<?php echo JRoute::_('index.php?option=com_example&task=file.submit'); ?>" enctype="multipart/form-data" method="post">
    <input type="file" name="jform1[test][]" />
    <input type="file" name="jform1[test][]" />
    <input type="submit" value="submit" />
</form>

... où ce formulaire est-il posté? Est-ce que cela ira au contrôleur de site ou au contrôleur d'administration?

J'ai besoin de données pour aller au contrôleur d'administrateur car il y a des options qui sont nécessaires plus tard pour faire quelque chose avec les données (je prévois d'utiliser cURL et d'envoyer les données ailleurs)

1
AdRock

"fichier" est le contrôleur frontal appelé ici.

/components/com_your_component/controllers/file.php

class Your_ComponentControllerFile extends JControllerLegacy
{
    public function submit(){

      // do something

    }

}

Vous pouvez charger des contrôleurs d'administration et des assistants dans ce contrôleur.

Veuillez aussi considérer ceci: https://docs.joomla.org/How_to_add_CSRF_anti-spoofing_to_forms

1
Dennis Heiden