Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

gabarit FormBuiler perso. débutant en cmsms/smarty
#3

Merci.

Effectivement j'ai pu sortir les différents champs et voir qui fait quoi.

Du coup j'ai atteins un résultat mais pas parfait.
code tpl complet:

Code :
[== Indéfini ==]
{* DEFAULT FORM LAYOUT / pure CSS *}
{$fb_form_header}
{if $fb_form_done == 1}
    {* This first section is for displaying submission errors *}
    {if isset($fb_submission_error) && $fb_submission_error}
        <div class="error_message">{$fb_submission_error}</div>
        {if isset($fb_show_submission_errors) && $fb_show_submission_errors}
            <div class="error">
            <ul>
            {foreach from=$fb_submission_error_list item=thisErr}
                <li>{$thisErr}</li>
            {/foreach}
            </ul>
        </div>
        {/if}
    {/if}
{else}
    {* this section is for displaying the form *}
    {* we start with validation errors *}
    {if isset($fb_form_has_validation_errors) && $fb_form_has_validation_errors}
        <div class="error_message">
        <ul>
        {foreach from=$fb_form_validation_errors item=thisErr}
            <li>{$thisErr}</li>
        {/foreach}
        </ul>
        </div>
    {/if}
    {if isset($captcha_error) && $captcha_error}
        <div class="error_message">{$captcha_error}</div>
    {/if}

    {* and now the form itself *}

    {$fb_form_start}
    <div>{$fb_hidden}</div>
    <div {if $css_class != ''} class="{$css_class}"{/if}>
    {if $total_pages gt 1}<span>{$title_page_x_of_y}</span>{/if}
    {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}
                {capture iclass assign=iclass}icon-{$entry->css_class}{/capture}
                <i class="{$iclass}"></i>
                </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}&nbsp;{$entry->input[numloop]->name} placeholder="name" </div>
                       {else}
                           <div class="controls">{$entry->input[numloop]->input}  placeholder="name" </div>
                       {/if}
                       {if isset($entry->input[numloop]->op) && $entry->input[numloop]->op}{$entry->input[numloop]->op}  placeholder="name" {/if}
                {/section}
             {else}
                <div class="controls">
                {if $entry->smarty_eval == '1'}{eval var=$entry->input}{else}{$entry->input}{/if}
                </div>
             {/if}
             {if $entry->valid == 0} &lt;--- {$entry->error}{/if}
             {*if $entry->needs_div == 1*}
                  </div>
                </div>
             {*/if*}
             {/strip}
         {/if}
    {/foreach}
    {if $has_captcha == 1}
        <div class="captcha">{$graphic_captcha}{$title_captcha}<br />{$input_captcha}</div>
    {/if}
           <div class="control-group"><div class="controls">
    <a class="btn btn-inverse" href="#">
            Envoyer
          </a>
{$prev}{$submit}
</div></div>
    
    </div>
    {$fb_form_end}
{/if}
{$fb_form_footer}


D'une part j'ai un div de trop entourant de div.controls
Et je n'ai toujours vu comment gérer le submit.

Code :
[== Indéfini ==]
<div class="required bell control-group">
<label for="contacttel" class="control-label">Tél.*<i class="icon-bell"></i>

</label><div>

<div class="controls"><input type="text" id="contacttel" maxlength="80" size="25
" value="" name="cntnt01fbrp__32">
</div>
</div>
</div>

Pour ce qui est de la souplesse d'usage (avec formbuilder) c'est juste juste car pour insérer une icone (<i class="icon-xyz") dans les labels de manière contextuelle (il faut une classe spécifique pour une icone) il faudrait un champ supplémentaire pour être sur d’éviter de posible conflits css.

Là j'ai ppu m'en sortir avec le champ field->css_class ( the CSS class specified for this field ) en y renseignant "user" ou "bell" ou "pencil", etc. et en concaténant cette class avec la chaine "icon-" de manière à obtenir ce qu'il faut pour bootstrap.
(impossible mettre la classe icon-xyz directement sinon ca prendrait des propriétés css inadéquates).

Code :
[== Indéfini ==]
{capture iclass assign=iclass}icon-{$entry->css_class}{/capture}
                <i class="{$iclass}"></i>


merci
Répondre


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)