13/11/2012, 16:59:00
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.2.1
#~ Url du site : cms-ms.dzi-neo.net/
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
Bonjour,
Continuant ma découverte de CMS MS, je cherche à comprendre les tpl de formbuilder.
Dans mon lab (cf url indiquée) je cherche à intégrer avec Bootstrap.
Cela suppose un code particulier pour un formulaire de contact.
sur ma page de test on voit le modèle "propre" non fonctionnel en 1er et dessous le résultat atteint avec formbuilder.
Je rame pour comprendre le gabarit.
Je suis parti du advanced_contact, dont voici la partie de boucle de traitement des champs avec mes qq modifs:
Code :
[== Indéfini ==]
{foreach from=$fields item=entry}
{if $entry->display == 1}
{strip}
{if $entry->needs_div == 1}
<div
{if $entry->required == 1 || $entry->css_class != '' || $entry->valid == 0} class="
{if $entry->required == 1}required{/if}
{if $entry->css_class != ''} {$entry->css_class}{/if}
{if $entry->valid == 0} fb_invalid{/if} control-group
"
{/if}
>
{/if}
{if $entry->hide_name == 0}
<label class="control-label" {if $entry->multiple_parts != 1} for="{$entry->input_id}"{/if}>{$entry->name}
{if $entry->required_symbol != ''}
{$entry->required_symbol}
{/if}
</label>
{/if}
<div>
{if $entry->multiple_parts == 1}
{section name=numloop loop=$entry->input}
{if $entry->label_parts == 1}
<div class="controls">{$entry->input[numloop]->input} {$entry->input[numloop]->name} placeholder="name" </div>
{else}
{$entry->input[numloop]->input} placeholder="name"
{/if}
{if isset($entry->input[numloop]->op) && $entry->input[numloop]->op}{$entry->input[numloop]->op} placeholder="name" {/if}
{/section}
{else}
{if $entry->smarty_eval == '1'}{eval var=$entry->input}{else}{$entry->input}{/if}
{/if}
{if $entry->valid == 0} <--- {$entry->error}{/if}
{if $entry->needs_div == 1}
</div>
</div>
{/if}
{/strip}
{/if}
{/foreach}
Je ne comprends pas à quoi sert {if $entry->needs_div == 1} en ligne 42. Enfin plus exactement je le comprends comme une option de wrap dans un div de chaque label et input (Ce que je veux). J'y a ajouté une class en dure (.control-group).
Au rendu pas de div wrappant. Mais comme je ne vois où positionner $entry->needs_div à 1 dans le backoffice...
Ensuite:
Il faut ajouter pour chaque input un placeholder="xxx" le xxx devant être apparaissant dans le champ et qui est virée au clic.
Ce que j'ai ajouté n'a aucun impact.
voici ce que je souhaiterais obtenir pour chaque champs:
Code :
[== Indéfini ==]
<div class="control-group">
<label for="contacttel" class="control-label">
Tél. <i class="icon-bell"></i>
</label><div class="controls">
<input type="tel" placeholder="tél" name="contacttel" id="tel">
</div></div>
Et enfin pour que le bouton submit soit un bouton ..il ne faudrait pas un input. Là ca se corse..?
Merci