Jump to content

Appel d'une variable php depuis un fichier tpl


Recommended Posts

Bonjour à tous,

tout d'abord merci de m'avoir accepté parmi vous.

Voilà, je suis en stage de professionnalisation en dev web (nos cours s'appuyaient sur java mais le stage est sur presta donc symfony... donc je découvre twig et tpl pour la vue).

Après avoir généré un module et l'avoir ajouté via le module manager, je souhaiterais afficher un menu déroulant dans le fichier .tpl (dans le back-office du module) en appelant le résultat d'une requête sql (table 'ps_lang' champ 'name') faite dans le fichier principal du module en php (fichier appelé "monModule.php").

Dans la vue: configure.tpl

<div class="panel">

<h3>Traduction du Francais vers autre langue</h3>

<form action="#" method="post" id="langform">

<select id="id_lang" name = "id_lang">

{foreach ($affichage as $row)}

<option value="{$row['id_lang'].' " >'.$row['name']} </option>

{endforeach}

</select>

<input type="submit" value="valider">

</form>

</div>

 

 

et dans le fichier monModule.php:

    public function getLang (){

        $sql = 'SELECT id_lang, name FROM ps_attibute_lang WHERE id_lang != 1';

        $resultat = Db::getInstance()->executeS($sql);

          return $resultat;

    }


 

    /**

     * Load the configuration form

     */

    public function getContent()

    {

        /**

         * If values have been submitted in the form, process.

         */

        if (((bool)Tools::isSubmit('submitMymoduleModule')) == true) {

            $this->postProcess();

        }

 

        $this->context->smarty->assign('module_dir', $this->_path);

        

        $output = $this->context->smarty->fetch($this->local_path.'views/templates/admin/configure.tpl');

       

       $affichage = $output.$this->getLang();

        return $affichage;

Pourriez-vous, svp, m'aiguiller vers une (ou des) réponses et/ou vers de la doc (je vous en serai très reconnaissant)?

Voici les questions que je me pose (et auxquelles je n'arrive pas à trouver de doc, blog, etc... y répondant clairement relativement à mon niveau débutant):

1. est-ce que la manière dont j'appelle le retour de la fonction getContent (cf. ci-dessus) depuis le foreach du fichier .tpl est correcte?

2. suis-je obligé de passer par la fonction getContent() pour faire passer le résultat de la fonction getLang() à la vue du back-office (fichier configure.tpl)?

je n'ai pas trouvé de document expliquant simplement comment exporter le résultat de la requête sql et/ou d'une fonction vers la vue

Merci à tous pour vos conseils (désolé si la question a déjà été posée.; j'ai recherché, sur cette page, mais je n'ai pas trouvé de réponse que comprenne...)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...