[Résolu] Débutant, problème front

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
#7
airelibre a écrit :
debutems a écrit :Bonjour à tous,

Merci pour les réponses Smile

jce76350 , concernant la création d'un module directement, tu as surement raison, mais je n'ai pas forcément trouvé de doc me permettant de comprendre globalement le CMS. Si tu en as en stock, je suis adepte de lecture Smile

airelibre, je vous remercie de votre réponse, je vais m'appuyer alors sur le module news pour bien comprendre le passage de la vue vers le controller suite à un submit Smile ça me donnera des pistes, je reviendrais vers vous.

J'ai en effet réussi le tuto sur l'écriture de module qui est vraiment très bon, on avance étape par étape, c'est très agréable. Je le trouve néanmoins un peu limité sur la partie front, ils proposent dans le tuto de simplement afficher par un foreach un objet me semble t'il, et donc pas de formulaires ce qui m'aurait grandement aiguillé.

En théorie, tu récupères les paramètres via $params[NAME] après avoir posté tes données en n'oubliant pas l'ajout du {$actionid} devant tous les "name" dans ton formulaire

Exemple :

Code :
<input type="text" name="{$actionid}nom">

est récupéré dans ton action cible avec :

Code :
$params['nom']

Utilises aussi les balises {form_start} et {form_end} pour générer le <form action= ...

Bonne continuation,

Merci pour la réponse Smile,

Je vais vous faire un petit récapitulatif de mon code actuellement Wink peut être que ça aidera

J'ai dans ma vue (dans mon fichier nommé "default.tpl")

Code :
[== HTML ==]
<div class="downloadWrapper">
    {form_start }

        <div class="pageoverflow">
            <p class="pageinput">
                <input type = "submit" name="{$actionid}submit" value="{$mod->Lang('submit')}"/>    
                <input type = "submit" name="{$actionid}cancel" value="{$mod->Lang('cancel')}"/>    
            </p>
        </div>

        <div class="pageoverflow">
            <p class = "pagetext">
                File:
            </p>
            <p class= "pageinput">
                <input type="file" enctype = "multipart/form-data" name="{$actionid}image" />    
            </p>
        </div>    

<!--     </form> -->
    {form_end}
</div>

Tandis que dans mon controller j'ai :

Code :
[== PHP ==]

    [......]

        if(isset($params['submit'])){
               var_dump("on rentre dans le submit");
               exit();
    }

    $users = $query->GetMatches();

    $tpl = $smarty->CreateTemplate($this->GetTemplateResource('default.tpl'), null,null, $smarty);    
    $tpl->assign('users', $users);

    $tpl->display();

J'ai mis un var_dump histoire de voir si je rentre dans mon submit Smile mais rien à faire pas de exit ^^

J'ai de temps en temps une erreur du type : "Warning: Parameter submit is not known by module UserTest dropped in"

Es-ce qu'il y a quelque chose qui vous choque ?
#7
airelibre a écrit :
debutems a écrit :Bonjour à tous,

Merci pour les réponses Smile

jce76350 , concernant la création d'un module directement, tu as surement raison, mais je n'ai pas forcément trouvé de doc me permettant de comprendre globalement le CMS. Si tu en as en stock, je suis adepte de lecture Smile

airelibre, je vous remercie de votre réponse, je vais m'appuyer alors sur le module news pour bien comprendre le passage de la vue vers le controller suite à un submit Smile ça me donnera des pistes, je reviendrais vers vous.

J'ai en effet réussi le tuto sur l'écriture de module qui est vraiment très bon, on avance étape par étape, c'est très agréable. Je le trouve néanmoins un peu limité sur la partie front, ils proposent dans le tuto de simplement afficher par un foreach un objet me semble t'il, et donc pas de formulaires ce qui m'aurait grandement aiguillé.

En théorie, tu récupères les paramètres via $params[NAME] après avoir posté tes données en n'oubliant pas l'ajout du {$actionid} devant tous les "name" dans ton formulaire

Exemple :

Code :
<input type="text" name="{$actionid}nom">

est récupéré dans ton action cible avec :

Code :
$params['nom']

Utilises aussi les balises {form_start} et {form_end} pour générer le <form action= ...

Bonne continuation,

Merci pour la réponse Smile,

Je vais vous faire un petit récapitulatif de mon code actuellement Wink peut être que ça aidera

J'ai dans ma vue (dans mon fichier nommé "default.tpl")

Code :
[== HTML ==]
<div class="downloadWrapper">
    {form_start }

        <div class="pageoverflow">
            <p class="pageinput">
                <input type = "submit" name="{$actionid}submit" value="{$mod->Lang('submit')}"/>    
                <input type = "submit" name="{$actionid}cancel" value="{$mod->Lang('cancel')}"/>    
            </p>
        </div>

        <div class="pageoverflow">
            <p class = "pagetext">
                File:
            </p>
            <p class= "pageinput">
                <input type="file" enctype = "multipart/form-data" name="{$actionid}image" />    
            </p>
        </div>    

<!--     </form> -->
    {form_end}
</div>

Tandis que dans mon controller j'ai :

Code :
[== PHP ==]

    [......]

        if(isset($params['submit'])){
               var_dump("on rentre dans le submit");
               exit();
    }

    $users = $query->GetMatches();

    $tpl = $smarty->CreateTemplate($this->GetTemplateResource('default.tpl'), null,null, $smarty);    
    $tpl->assign('users', $users);

    $tpl->display();

J'ai mis un var_dump histoire de voir si je rentre dans mon submit Smile mais rien à faire pas de exit ^^

J'ai de temps en temps une erreur du type : "Warning: Parameter submit is not known by module UserTest dropped in"

Es-ce qu'il y a quelque chose qui vous choque ?


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)