it-swarm.com.de

Formular im Frontend eines Moduls erstellen

Ich erstelle eine einfache benutzerdefinierte Suche, bei der Benutzer mithilfe einer Dropdown-Liste mit Optionen suchen. Ich habe das Modul erfolgreich erstellt. Ich weiß jedoch nicht, wie ich das Formular im Frontend anzeigen und Werte zur Validierung an meine Hilfedatei übergeben kann. Bitte helfen Sie ! Unten ist mein Code

model (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) In diesem Formular wird die Droplist angezeigt, die an den Controller gesendet werden soll

            <select id="Field-of-Study" class="form-control">
                <?php foreach($res['FieldofStudy'] as $a){  ?>
                <option>
                <?php  echo $a->title ;  ?>
                </option>
                <?php } ?>
              </select>
2

Persönlich würde ich es so machen:

Nehmen wir an, Sie haben einige Formularfelder (z. B. 2 Eingaben und ein Auswahlfeld):

<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>

Beachten Sie, dass ich myform im Attribut name="" Verwendet habe.

Jetzt können Sie in Ihrer mod_mymodule.php -Datei überprüfen, ob der Beitrag gesetzt ist, und das gesamte Beitragsarray wie folgt aus Ihrem Formular abrufen:

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']
}

Um den Beitrag in eine Funktion in der helper.php zu setzen, müssen Sie zuerst den Helfer wie folgt aufrufen:

$helper = new ModMYMODULEHelper();

Rufen Sie dann die Funktion vom Helfer aus auf

$helper->myfunction($post);

Hoffe das hilft

2
Lodder