création de composant

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • infograf768
    a répondu

    Les fichiers de type index.html ne sont utiles que lorsqu'un dossier est ou peut être temporairement vide.
    de plus, la license peut être double mais doit être Open Source
    Code:
    <license>GNU General Public License version 2 or later; see LICENSE.txt</license>
    Dernière édition par infograf768 à 29/08/2019, 18h17

    Laisser un commentaire:


  • Remi45
    a répondu
    Je reviens sur ce sujet car j'ai un tout petit peu avancé.
    A partir des différent tutoriels j'ai fait un composant simple avec la structure suivante:

    Cliquez sur l'image pour l'afficher en taille normale

Nom : repformff.JPG 
Affichages : 49 
Taille : 24,5 Ko 
ID : 2005738
    Le xml du composant formff.xml
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <extension type="component" version="3.0" method="upgrade">
    
        <name>Form FF!</name>
        <!-- The following elements are optional and free of formatting constraints -->
        <creationDate>Septembre 2019</creationDate>
        <author>Rémi</author>
        <authorEmail>contact@monsite.fr</authorEmail>
        <authorUrl>www.monsite.fr</authorUrl>
        <copyright>Copyright Info</copyright>
        <license>License Info</license>
        <!--  The version string is recorded in the components table -->
        <version>0.0.1</version>
        <!-- The description is optional and defaults to the name -->
        <description>Description of the Form FF component ...</description>
    
        <update> <!-- Runs on update; New since J2.5 -->
            <schemas>
                <schemapath type="mysql">sql/updates/mysql</schemapath>
            </schemas>
        </update>
    
        <!-- Site Main File Copy Section -->
        <!-- Note the folder attribute: This attribute describes the folder
            to copy FROM in the package to install therefore files copied
            in this section are copied from /site/ in the package -->
        <files folder="site">
            <filename>index.html</filename>
            <filename>formff.php</filename>
            <filename>controller.php</filename>
            <folder>views</folder>
        </files>
    
        <administration>
            <!-- Administration Menu Section -->
            <menu link='index.php?option=com_formff'>Form FF!</menu>
            <!-- Administration Main File Copy Section -->
            <!-- Note the folder attribute: This attribute describes the folder
                to copy FROM in the package to install therefore files copied
                in this section are copied from /admin/ in the package -->
            <files folder="admin">
                <!-- Admin Main File Copy Section -->
                <filename>index.html</filename>
                <filename>formff.php</filename>
                <!-- SQL files section -->
                <folder>sql</folder>
            </files>
        </administration>
    
    </extension>
    Pour la partie site:

    formff.php
    Code PHP:
    defined('_JEXEC') or die('Restricted access');

    // Get an instance of the controller prefixed by FormFF
    $controller JControllerLegacy::getInstance('FormFF');

    // Perform the Request task
    $input JFactory::getApplication()->input;
    $controller->execute($input->getCmd('task'));

    // Redirect if set by the controller
    $controller->redirect(); 
    controller.php
    Code PHP:
    defined('_JEXEC') or die('Restricted access');

    class 
    FormFFController extends JControllerLegacy
    {

    view.html.php
    Code PHP:
    defined('_JEXEC') or die('Restricted access');

    /**
     * HTML View class for the HelloWorld Component
     *
     * @since  0.0.1
     */
    class FormFFViewFormFF extends JViewLegacy
    {
        
    /**
         * Display the From FF view
         *
         * @param   string  $tpl  The name of the template file to parse; automatically searches through the template paths.
         *
         * @return  void
         */
        
    function display($tpl null)
        {
            
    // Assign data to the view
            
    $this->msg 'Formulaire';

            
    // Display the view
            
    parent::display($tpl);
        }

    default.php
    Code PHP:
    defined('_JEXEC') or die('Restricted access');
    ?>
    <h1><?php echo $this->msg?></h1>
    default.xml
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <metadata>
        <layout title="COM_FORMFF_FORMFF_VIEW_DEFAULT_TITLE">
            <message>COM_FORMFF_FORMFF_VIEW_DEFAULT_DESC</message>
        </layout>
    </metadata>
    Maintenant j'ai compris qu'on pouvait définir un formulaire à l'aide d'un fichier xml du type

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <form>
        <fields name="champs">
            <fieldset name="ident">
                <field
                        type="text"
                        name="nomclient"
                        id="nomclientff"
                        label="Nom"
                        description="Entrez votre nom"
                        size="80"
                        maxLength="255" />                     
            </fieldset>
        </fields>
    </form>
    Par contre ce que j'ai n'ai pas trouvé c'est comment j'affiche mon formulaire et comment je peux traiter les informations enregistrées dans le formulaire.

    Laisser un commentaire:


  • roland_d_alsace
    a répondu
    Envoyé par Remi45 Voir le message

    Sauf que je ne veux pas utiliser le profil membre
    Tu peux l'adapter "à ta sauce" par des plugins, il y a d'ailleurs un exemple livré avec Joomla il me semble.

    Dans tous les cas pour l'encodage du MdP et sa gestion moi je je laisse faire le framework de Joomla.
    Cela évite les problèmes, si par exemple le core team décide à nouveau de changer les règles d'encryptage par exemple (cela m'est arrivé).

    Envoyé par Remi45 Voir le message
    J'ai utilisé le système de login de joomla sur un autre site ou effectivement je demande le changement de mot de passe. Mais ça fonctionne plus ou moins bien
    ?

    Envoyé par Remi45 Voir le message
    Exact sauf que ce que fait joomla ne me convient pas car je travaille sur 2 bases de données bien séparées. C'est pourquoi je voudrais créer un composant.
    Pas de soucis, j'ai souvent fait des plugins de type "bridge", par exemple pour avoir qu'un seul login pour 2 moteurs de sites différents (donc plusieurs database).
    Lors de la création du compte sous Joomla le plugin crée aussi le compte dans l'autre DB, idem à la modification, au login, etc...
    Avec le système de plugin de Joomla, c'est hyper facile et fiable.

    Envoyé par Remi45 Voir le message

    Je vais regarder comment est fait le com_contact
    C'est un exemple où tu pourras voir la gestion des formulaires (voir aussi ce tuto par exemple...)
    Dernière édition par roland_d_alsace à 10/06/2019, 22h23

    Laisser un commentaire:


  • Remi45
    a répondu
    Envoyé par roland_d_alsace Voir le message
    Hello.

    Il n'y a pas grand chose à développer pour ce cahier des charges.

    Il faut juste vérifier le mot de passe, pour voir s'il doit être réinitialisé.
    Un tout petit plugin suffit pour cela.

    Pas besoin de formulaire, c'est le login et la page de profil membre de Joomla qui sont à utiliser.
    Sauf que je ne veux pas utiliser le profil membre

    Envoyé par roland_d_alsace Voir le message
    Tout le reste peut-être fait en natif par Joomla (redirection après login vers une page donnée, ou page d'accueil spécifique selon membre).

    De plus il doit exister des plugins qui forcent la réinitialisation du MdP (quels sont tes critères sur ce point ?).
    Celui-ci par exemple... ou celui-la...
    (Attention : notes bien que je ne les connais pas, j'ai juste fait une petite recherche sur la JED).
    J'ai utilisé le système de login de joomla sur un autre site ou effectivement je demande le changement de mot de passe. Mais ça fonctionne plus ou moins bien

    Envoyé par roland_d_alsace Voir le message
    S'ils ne correspondent pas à ton besoin, tu pourras au moins t'en inspirer pour la gestion de la redirection vers la page de profil par exemple.

    Sinon si tu veux absolument créer un composant, fait une petit recherche sur le forum "dev", il y a des pistes (bouquins).
    Ou inspire toi d'un composant (assez simple) du core (com_contact par exemple).
    Mais pour ta demande en particulier, je ne le ferai pas car il vaut mieux laisser Joomla faire au niveau du login, du contrôle et de la mise en œuvre du mot de passe.
    En informatique on ne refait par 2x le même travail, c'est risque d'erreurs et de problèmes.
    Comme dit, il faut juste faire éventuellement un plugin qui à la première entrée sur le site d'un membre enregistré fera le nécessaire en cas de nécessité de changement du MdP.
    C'est ça la logique.
    Exact sauf que ce que fait joomla ne me convient pas car je travaille sur 2 bases de données bien séparées. C'est pourquoi je voudrais créer un composant.
    Je vais regarder comment est fait le com_contact

    Laisser un commentaire:


  • roland_d_alsace
    a répondu
    Hello.

    Il n'y a pas grand chose à développer pour ce cahier des charges.

    Il faut juste vérifier le mot de passe, pour voir s'il doit être réinitialisé.
    Un tout petit plugin suffit pour cela.

    Pas besoin de formulaire, c'est le login et la page de profil membre de Joomla qui sont à utiliser.

    Tout le reste peut-être fait en natif par Joomla (redirection après login vers une page donnée, ou page d'accueil spécifique selon membre).

    De plus il doit exister des plugins qui forcent la réinitialisation du MdP (quels sont tes critères sur ce point ?).
    Celui-ci par exemple... ou celui-la...
    (Attention : notes bien que je ne les connais pas, j'ai juste fait une petite recherche sur la JED).

    S'ils ne correspondent pas à ton besoin, tu pourras au moins t'en inspirer pour la gestion de la redirection vers la page de profil par exemple.

    Sinon si tu veux absolument créer un composant, fait une petit recherche sur le forum "dev", il y a des pistes (bouquins).
    Ou inspire toi d'un composant (assez simple) du core (com_contact par exemple).
    Mais pour ta demande en particulier, je ne le ferai pas car il vaut mieux laisser Joomla faire au niveau du login, du contrôle et de la mise en œuvre du mot de passe.
    En informatique on ne refait par 2x le même travail, c'est risque d'erreurs et de problèmes.
    Comme dit, il faut juste faire éventuellement un plugin qui à la première entrée sur le site d'un membre enregistré fera le nécessaire en cas de nécessité de changement du MdP.
    C'est ça la logique.
    Dernière édition par roland_d_alsace à 10/06/2019, 15h19

    Laisser un commentaire:


  • Remi45
    a crée un sujet [Problème] création de composant

    création de composant

    Bonjour

    Ça fait plusieurs semaines que je cherche à créer un composant joomla qui réaliserait les fonctionnalités suivantes:

    Un utilisateur via un petit formulaire entre son adresse Email et son mot de passe. Après la soumission on vérifie que l'Email et le mot de passe sont bien dans la base de donnée.

    Si c'est le cas on vérifie si l'utilisateur doit changer son mot de passe (il y a un champs qui indique ça dans la base)

    Si l'utilisateur n' a pas besoin de changer son mot de passe on le redirige vers la page finale qui contient des liens de téléchargement

    Par contre si l'utilisateur doit changer son mot de passe on le redirige vers une page avec un formulaire où il entre le nouveau mot de passe et une confirmation de ce mot de passe avant validation on vérifie via un script en javascript que les deux mots de passes saisies sont identique et si c'est le cas après validation la base est mise à jour.

    Puis on le redirige vers la page finale qui contient des liens de téléchargement

    Là ou je bloque surtout c'est pour créer des formulaires et passer les informations saisies au code php.

    J'ai regardé ce tutoriels:
    https://docs.joomla.org/J3.x:Develop...nt-end_form/fr

    et
    http://docteurjoomla.com/nos-tutorie...oomla-partie-1

    Mais là je dois avouer que je craque car si les explications sont bien claires pour les premières étapes ça devient très confus par la suite sans compter que certains des exemples donnés ne fonctionnent pas

    Donc si quelqu'un veut bien m'aider je lui en serait très reconnaissant

    Merci d'avance

Annonce

Réduire
1 sur 2 < >

C'est [Réglé] et on n'en parle plus ?

A quoi ça sert ?
La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
Comment ajouter la mention [Réglé] à votre discussion ?
1 - Aller sur votre discussion et éditer votre premier message :


2 - Cliquer sur la liste déroulante Préfixe.

3 - Choisir le préfixe [Réglé].


4 - Et voilà… votre discussion est désormais identifiée comme réglée.

2 sur 2 < >

Assistance au forum - Outil de publication d'infos de votre site

Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

UTILISER À VOS PROPRES RISQUES :
L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

Problèmes connus :
FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

Installation :

1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

Archive zip : https://github.com/AFUJ/FPA/zipball/master

2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
et remplacer www. votresite .com par votre nom de domaine


Exemples:
Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
Télécharger le script fpa-fr.php dans: /public_html/
Pour executer le script: http://www..com/fpa-fr.php

Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
Télécharger le script fpa-fr.php dans: /public_html/cms/
Pour executer le script: http://www..com/cms/fpa-fr.php

En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
Voir plus
Voir moins

Partenaire de l'association

Réduire

Hébergeur Web PlanetHoster
Travaille ...
X