Eine Frage zum Modul FormBuilder 0.5.11.
Wenn ich im FormBuilder eine Kontrollkästchen-Gruppe (checkboxes) anlege werden sie im Tabellen-Template nebeneinander angezeigt.
Ist es möglich die Kontrollkästchen untereinander anzuzeigen? In den Erweiterte Einstellungen und im Formular-Template konnte ich keine Möglichkeit dazu finden. Hat vielleicht jemand mit FormBuilder Kontrollkästchen- oder Optionsfeld-Gruppe (radio) untereinander angelegt und kann mir Tipps geben?
FormBuilder: Checkboxen und radio-button untereinander anlegen
Re: FormBuilder: Checkboxen und radio-button untereinander anlegen
Klar ist das möglich. Aber natürlich nicht auf Knopfdruck.
Da es eine reine Sache des HTML ist, natürlich über das Formular-Template.
Ich muss allerdings zugeben, dass es etwas Fummelei war, bis es auch valide war. Obwohl ich im Tabellenschreiben recht geübt bin, hat es doch gedauert, herauszufinden, an welcher Stelle genau die Zellen und Zeilen geschlossen / umgebrochen werden müssen, da die Felder ja dynamisch generiert werden.
Ich weiß nicht, ob es dir hilft, aber hier mal mein Code mit Checkboxen untereinander:
Da es eine reine Sache des HTML ist, natürlich über das Formular-Template.
Ich muss allerdings zugeben, dass es etwas Fummelei war, bis es auch valide war. Obwohl ich im Tabellenschreiben recht geübt bin, hat es doch gedauert, herauszufinden, an welcher Stelle genau die Zellen und Zeilen geschlossen / umgebrochen werden müssen, da die Felder ja dynamisch generiert werden.
Ich weiß nicht, ob es dir hilft, aber hier mal mein Code mit Checkboxen untereinander:
Code: Select all
{* TABLE FORM LAYOUT / Field titles on Left *}
{* next line sets number of columns for things like checkbox groups *}
{assign var="cols" value="3"}
{$fb_form_header}
{if $fb_form_done == 1}
{* This first section is for displaying submission errors *}
{if $fb_submission_error}
<div class="error_message">{$fb_submission_error}</div>
{if $fb_show_submission_errors}
<table class="error">
{foreach from=$fb_submission_error_list item=thisErr}
<tr><td>{$thisErr}</td></tr>
{/foreach}
</table>
{/if}
{/if}
{else}
{* this section is for displaying the form *}
{* we start with validation errors *}
{if $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 $captcha_error}
<div class="error_message">{$captcha_error}</div>
{/if}
{* and now the form itself *}
{$fb_form_start}
<div>{$fb_hidden}</div>
<table cellpadding="0" cellspacing="10" {if $css_class != ''} class="{$css_class}"{/if}>
{if $total_pages gt 1}<tr><td colspan="2">{$title_page_x_of_y}</td></tr>{/if}
{foreach from=$fields item=entry}
{if $entry->display == 1 &&
$entry->type != '-Fieldset Start' &&
$entry->type != '-Fieldset End' }
<tr>
{strip}
<td width="220" align="left" valign="top"
{if $entry->required == 1 || $entry->css_class != ''} class="
{if $entry->required == 1}
required
{/if}
{if $entry->required == 1 && $entry->css_class != ''} {/if}
{if $entry->css_class != ''}
{$entry->css_class}
{/if}
"
{/if}
>
{if $entry->hide_name == 0}
{$entry->name}
{if $entry->required_symbol != ''}
{$entry->required_symbol}
{/if}
{/if}
</td>
<!--- hier müsste der relevante Teil für die Checkboxen beginnen --->
<td align="left" valign="top"{if $entry->css_class != ''} class="{$entry->css_class}"{/if}>
{if $entry->multiple_parts == 1}
{section name=numloop loop=$entry->input}
{$entry->input[numloop]->input} {$entry->input[numloop]->name}{if $entry->input[numloop]->op}{$entry->input[numloop]->op}{/if}<br />
{if not ($smarty.section.numloop.rownum mod $cols)}
{if not $smarty.section.numloop.last}
{/if}
{/if}
{if $smarty.section.numloop.last}
{math equation = "n - a % n" n=$cols a=$entry->input|@count assign="cells"}
{if $cells ne $cols}
{section name=pad loop=$cells}
{/section}
{/if}
{/if}
{/section}
{else}
{$entry->input}
{/if}
{if $entry->valid == 0} <--- {$entry->error}{/if}
</td></tr>
{/strip}
{/if}
{/foreach}
{if $has_captcha == 1}
<tr><td>{$graphic_captcha}</td><td>{$input_captcha}<br />{$title_captcha}</td></tr>
{/if}
<tr><td>{$prev}</td><td>{$submit}</td></tr>
</table>
{$fb_form_end}
{/if}
{$fb_form_footer}
Re: FormBuilder: Checkboxen und radio-button untereinander anlegen
Ich habe den code im Formular-Template (Tabelle) an entspr. Stelle ausgetauscht, bekomme aber nicht das gewünschte Ergebnis.
Es wäre hilfreich wenn Du das kompl. Template posten könntest, vorausgesetzt der code lässt sich jetzt posten..?
Danke
Es wäre hilfreich wenn Du das kompl. Template posten könntest, vorausgesetzt der code lässt sich jetzt posten..?
Danke
Re: FormBuilder: Checkboxen und radio-button untereinander anlegen
mein code bezieht sich übrigens auf das template mit "Feldname links" ... dH: benutzt du "Feldname oben", musst du eh selber basteln.
So sieht es aus:
http://www.latruffe.de/bestellung.html
Zweiter versuch:
So sieht es aus:
http://www.latruffe.de/bestellung.html
Zweiter versuch:
Code: Select all
{assign var="cols" value="3"}
{$fb_form_header}
{if $fb_form_done == 1}
{* This first section is for displaying submission errors *}
{if $fb_submission_error}
<div class="error_message">{$fb_submission_error}</div>
{if $fb_show_submission_errors}
<table class="error">
{foreach from=$fb_submission_error_list item=thisErr}
<tr><td>{$thisErr}</td></tr>
{/foreach}
</table>
{/if}
{/if}
{else}
{* this section is for displaying the form *}
{* we start with validation errors *}
{if $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 $captcha_error}
<div class="error_message">{$captcha_error}</div>
{/if}
{* and now the form itself *}
{$fb_form_start}
<div>{$fb_hidden}</div>
<table cellpadding="0" cellspacing="10" {if $css_class != ''} class="{$css_class}"{/if}>
{if $total_pages gt 1}<tr><td colspan="2">{$title_page_x_of_y}</td></tr>{/if}
{foreach from=$fields item=entry}
{if $entry->display == 1 &&
$entry->type != '-Fieldset Start' &&
$entry->type != '-Fieldset End' }
<tr>
{strip}
<td width="220" align="left" valign="top"
{if $entry->required == 1 || $entry->css_class != ''} class="
{if $entry->required == 1}
required
{/if}
{if $entry->required == 1 && $entry->css_class != ''} {/if}
{if $entry->css_class != ''}
{$entry->css_class}
{/if}
"
{/if}
>
{if $entry->hide_name == 0}
{$entry->name}
{if $entry->required_symbol != ''}
{$entry->required_symbol}
{/if}
{/if}
</td><td align="left" valign="top"{if $entry->css_class != ''} class="{$entry->css_class}"{/if}>
{if $entry->multiple_parts == 1}
{section name=numloop loop=$entry->input}
{$entry->input[numloop]->input} {$entry->input[numloop]->name}{if $entry->input[numloop]->op}{$entry->input[numloop]->op}{/if}<br />
{if not ($smarty.section.numloop.rownum mod $cols)}
{if not $smarty.section.numloop.last}
{/if}
{/if}
{if $smarty.section.numloop.last}
{math equation = "n - a % n" n=$cols a=$entry->input|@count assign="cells"}
{if $cells ne $cols}
{section name=pad loop=$cells}
{/section}
{/if}
{/if}
{/section}
{else}
{$entry->input}
{/if}
{if $entry->valid == 0} <--- {$entry->error}{/if}
</td></tr>
{/strip}
{/if}
{/foreach}
{if $has_captcha == 1}
<tr><td>{$graphic_captcha}</td><td>{$input_captcha}<br />{$title_captcha}</td></tr>
{/if}
<tr><td>{$prev}</td><td>{$submit}</td></tr>
</table>
{$fb_form_end}
{/if}
{$fb_form_footer}
Last edited by antibart on Thu May 07, 2009 1:59 pm, edited 1 time in total.
Re: FormBuilder: Checkboxen und radio-button untereinander anlegen
Vielen Dank, das funktioniert wunderbar. Ich habe das gleiche Template genutzt, so das ich jetzt nur noch minimale Anpassungen vornehmen muss. Das Template macht in meinen Augen so viel mehr Sinn, gerade bei umfangreichen Formularen behält man so die Übersicht.
Nochmals, tausend Dank!
Nochmals, tausend Dank!
Re: FormBuilder: Checkboxen und radio-button untereinander anlegen
Es kann von mir aus gern zur allgemeinen Verfügung in die Modul-Templates aufgenommen werden.
Re: FormBuilder: Checkboxen und radio-button untereinander anlegen
Sollte es nicht auch mit ein bißchen CSS funktionieren, indem du diese input-Elemente als Block formatierst
?
