Suis en train de créer une recherche personnalisée simple, où les utilisateurs effectueront une recherche à l’aide d’une liste déroulante d’option, j’ai réussi à créer le module, mais je ne sais pas comment afficher le formulaire en mode frontal ni comment passer des valeurs à mon fichier d’aide pour validation, veuillez aider ! Ci-dessous mon code
modèle (helper.php)
public static function getdata($catid)
{
//$catid1=17;
$res=array();
$categories = JCategories::getInstance('Content');
$cat = $categories->get($catid);
$children = $cat->getChildren();
$res['FieldofStudy']=$children;
return $res;
}
View (tmpl/default.php) Quel est le formulaire qui montre la liste de dépôt à renvoyer au contrôleur
<select id="Field-of-Study" class="form-control">
<?php foreach($res['FieldofStudy'] as $a){ ?>
<option>
<?php echo $a->title ; ?>
</option>
<?php } ?>
</select>
Personnellement, je le ferais comme ça:
Disons que vous avez quelques champs de formulaire (par exemple, 2 entrées et une zone de sélection):
<form method="post" name="shout">
<input name="myform[name]" type="text">
<input name="myform[surname]" type="text">
<select name="myform[study]" id="Field-of-Study" class="form-control">
<?php foreach($res['FieldofStudy'] as $a) : ?>
<option><?php echo $a->title; ?></option>
<?php endforeach; ?>
</select>
</form>
Remarquez que j'ai utilisé myform
dans le name=""
attribut.
Maintenant, dans votre fichier mod_mymodule.php, vous pouvez vérifier si la publication est définie et obtenir le tableau entier de votre formulaire de la manière suivante:
if (isset($_POST))
{
$post = $app->input->post->get('myform', array(), 'array');
// You can now access each field value using
// $post['name']
// $post['surname']
// $post['study']
}
Pour mettre la publication dans une fonction dans le helper.php, vous devez d’abord appeler l’aide comme ceci:
$helper = new ModMYMODULEHelper();
Puis appelez la fonction depuis l’assistant
$helper->myfunction($post);
J'espère que cela t'aides