Maison  >  Article  >  Tutoriel CMS  >  Comment personnaliser les formulaires dans phpcms

Comment personnaliser les formulaires dans phpcms

angryTom
angryTomoriginal
2020-02-19 13:53:283879parcourir

Comment personnaliser les formulaires dans phpcms

Comment personnaliser le formulaire dans phpcms

Les étapes pour personnaliser le formulaire sont les suivantes :

(1) : Ouvrez le backend, cliquez sur le module, recherchez l'assistant de formulaire, cliquez sur l'assistant d'ajout de formulaire et l'interface suivante apparaîtra.

Comment personnaliser les formulaires dans phpcms

(2) : Ensuite, nous devons introduire les deux options de sélection de modèle dans l'image ci-dessus et le modèle utilisé par js appelant, pour la sélection de modèle, il s'agit en fait. Sur la première page de notre formulaire, le modèle utilisé par les appels js représente l'opération de saut effectuée après la soumission du formulaire. Dans des circonstances normales, il suffit de changer de modèle et de sélectionner une partie du contenu pour modifier le style du formulaire. par les appels js ne nous oblige pas à le faire. Pour toute opération, où est stocké le modèle show_js.html utilisé pour la sélection de modèle spécifique show.html et l'appel js ?

La réponse se trouve sous le chemin phpcmstemplatesdefaultformguide. En pratique, il suffit de changer la sélection du modèle. Ici, je définis moi-même un fichier show_message.html et je change l'emplacement de sélection du modèle sur mon fichier show_message.html.

Recommandations associées : Tutoriel phpcms

(3) : Vient ensuite le processus d'écriture de mon fichier show_message.html. L'écriture de ce fichier doit faire référence à l'original. show.html En ce qui concerne l’écriture, regardons comment la partie formulaire de show.html est écrite.

<form method="post" action="?m=formguide&c=index&a=show&formid={$formid}&siteid=<?php echo $this->siteid;?>" name="myform" id="myform">
   <table class="table_form" width="100%" cellspacing="0">
   <tbody>
   {loop $forminfos_data $field $info}
    {if $info[&#39;formtype&#39;]==&#39;omnipotent&#39;}
        {loop $forminfos_data $_fm $_fm_value}
            {if $_fm_value[&#39;iscomnipotent&#39;]}
                {php $info[&#39;form&#39;] = str_replace(&#39;{&#39;.$_fm.&#39;}&#39;,$_fm_value[&#39;form&#39;],$info[&#39;form&#39;]);}
            {/if}
        {/loop}
    {/if}
    <tr>
      <th width="80">{if $info[&#39;star&#39;]} <font color="red">*</font>{/if} {$info[&#39;name&#39;]}
      </th>
      <td>{$info[&#39;form&#39;]}  {$info[&#39;tips&#39;]}</td>
    </tr>
    {/loop}
    </tbody>
    </table>
    <input type="submit" name="dosubmit" id="dosubmit" value=" 提交 "> <input type="reset" value=" 取消 ">
</form>

Les parties les plus importantes ici sont les parties suivantes

(1) : La partie action du formulaire, la valeur de cette partie est

? m=formguide&c=index&a=show&formid={$formid}&siteid=siteid;?>, vous pouvez généralement le copier directement dans la partie action de votre formulaire.

(2) : Quant à la partie name="myform" id="myform" sous la balise form, elle est inutile. Vous pouvez l'écrire si vous ne le souhaitez pas et vous pouvez la supprimer.

(3) : Vient ensuite le corps de la boucle {loop $forminfos_data $field $info}. Ce corps de boucle est plus important. Ce que $field obtient est lorsque vous ajoutez des champs après avoir créé l'assistant de formulaire. du champ correspond au champ de la base de données qui stocke les informations de votre message, et $info stocke des informations supplémentaires sur les champs de la table de données que vous définissez, telles que les noms chinois des champs de la table de données. Où sont définies ces valeurs ? ? C'est le contenu renseigné dans l'interface qui apparaît après avoir cliqué sur Ajouter un champ. Plus précisément, il s'agit de l'interface suivante :

Comment personnaliser les formulaires dans phpcms

(4) : Vient ensuite la boucle de parcours variable. partie, la fonction principale de cette partie est de parcourir le contenu des informations du formulaire créé pour nous sur la base du système de tables de données que nous avons créé, tel que

{$info['form']} {$info['tips' ]}< ;/td>Le contenu obtenu par {$info['form']} dans ce code est le style de formulaire créé par le système pour nous par défaut correspondant au champ actuel. Par exemple, comme indiqué ci-dessous, la valeur. dans l'image ci-dessous, c'est ce que j'ai directement La valeur du résultat obtenu en imprimant $info :

Comment personnaliser les formulaires dans phpcms

(5) : La dernière chose à noter est

Jusqu'à présent, nous avons vérifié l'implémentation par défaut du style de formulaire show.html du système phpcms. Ensuite, nous implémentons notre propre style de formulaire. Je publierai directement mon code d'implémentation

<form method=&#39;post&#39; class="met-form met-form-validation" enctype="multipart/form-data" action=&#39;{APP_PATH}index.php?m=formguide&c=index&a=show&formid={$formid}&action=js&siteid=<?php echo $this->siteid;?>&#39;>
     {loop $forminfos_data $field $info}
     {php var_dump($info)}
     {if $info[&#39;formtype&#39;]==&#39;text&#39;}
     <div class=&#39;form-group&#39;>
        <input name=&#39;info[{$field}]&#39; class=&#39;form-control&#39; type=&#39;text&#39; placeholder=&#39;{$info[tips]}&#39; />
     </div>
     {/if}
     {if $info[&#39;formtype&#39;]==&#39;textarea&#39;}
     <div class=&#39;form-group&#39;>
        <textarea name=&#39;info[{$field}]&#39; class=&#39;form-control&#39;  placeholder=&#39;{$info[tips]} &#39; rows=&#39;10&#39;></textarea>
     </div>
     {/if}
     {/loop}
     <div class="form-group m-b-0">
     <button type="submit" name="dosubmit" id="dosubmit" class="btn btn-primary btn-lg btn-block btn-squared" value=" 提交 ">提交留言</button>
     </div>
</form>

I Le. Les plus grands changements par rapport au show.html original dans ce code sont les points suivants

Tout d'abord, mon propre style de formulaire est class="met-form met-form-validation", et cette partie n'existe pas dans le code original Contenu

J'ai supprimé la valeur de contenu de name="myform" id="myform"

Ensuite, créez la partie de saisie du formulaire et utilisez également

{loop $ forminfos_data $field $info} et utilisez $info['formtype'] pour déterminer s'il s'agit d'un texte sur une seule ligne ou d'un texte sur plusieurs lignes

Prendre le texte sur une seule ligne comme exemple

, dans cette partie name=' info[{$field}]' comparaison La clé est que si vous n'écrivez pas ces lignes de code dans votre formulaire, vous constaterez qu'après avoir soumis le formulaire, les informations de contenu que vous avez renseignées ne seront pas du tout dans la base de données. , et le contenu du message que vous avez écrit n'apparaîtra pas dans la liste d'informations du message en arrière-plan

Enfin, ajoutez le code name="dosubmit" à la section de soumission. Notez que sans ce code, vous ne le serez toujours pas. capable de trouver le contenu de votre message dans la base de données.

À ce stade, nous pouvons créer notre propre formulaire de style !

Pour plus de didacticiels vidéo sur la construction de sites Web phpcms, veuillez faire attention au site Web PHP chinois !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn