[opgelost][Formbuilder] css class toevoegen
Moderator: velden
[opgelost][Formbuilder] css class toevoegen
Ik kan het helaas niet vinden, maar vraag me eigenlijk af of het mogelijk is in de formbuilder frontend een css class toe te voegen.
Zo niet, dan ben ik benieuwd waar het in de codebase te vinden is. Iemand een tip?
Gebruik CMS Made Simple icm een framework (Bootstrap) en deze heeft eigen classes die ik zou willen in zetten.
De submit knop heb ik al aangepast in de Form.class.php, nu de <form> tag nog vinden.
Zo niet, dan ben ik benieuwd waar het in de codebase te vinden is. Iemand een tip?
Gebruik CMS Made Simple icm een framework (Bootstrap) en deze heeft eigen classes die ik zou willen in zetten.
De submit knop heb ik al aangepast in de Form.class.php, nu de <form> tag nog vinden.
Last edited by vinyl on Sat Oct 27, 2012 2:02 pm, edited 3 times in total.
Re: [Formbuilder] css class toevoegen
Persoonlijk heb ik nog nooit in de code zelf hoeven krassen om iets met een form gedaan te krijgen.
Je kunt toch per 'veld' een eigen id meegeven? Volstaat dat niet.
En wat betreft de submit-button in css: input[type=submit]
Wat probeer je eigenlijk te bereiken als ik het vragen mag?
Je kunt toch per 'veld' een eigen id meegeven? Volstaat dat niet.
En wat betreft de submit-button in css: input[type=submit]
Wat probeer je eigenlijk te bereiken als ik het vragen mag?
Re: [Formbuilder] css class toevoegen
Als ik naar de code van een standaard formulier kijk dan zijn heel veel css classes al standaard bepaald in de code, ook de volgorde van elementen bijvoorbeeld.
Wat ik wil is een eigen formulier kunnen opbouwen, of de standaard classes kunnen beïnvloeden.
Wat ik wil is een eigen formulier kunnen opbouwen, of de standaard classes kunnen beïnvloeden.
Re: [Formbuilder] css class toevoegen
Je kunt per veld een eigen css-class opgeven (tabblad 'geavanceerde instellingen' van het betreffende veld).
Opbouw van form kun je ook helemaal zelf bepalen door het template aan te passen (wordt het vaak minder dynamisch van). Ik doe dat vaak omdat wat designers bedenken meestal niet in een logische procedure is te verwerken. Dan maak ik een custom template waarin enkel de velden worden opgenomen waar ik het wil. Nadeel van die opzet is dan dat als een gebruiker een nieuw veld toevoegt, dit niet wordt meegenomen.
Voorbeeld:
Opbouw van form kun je ook helemaal zelf bepalen door het template aan te passen (wordt het vaak minder dynamisch van). Ik doe dat vaak omdat wat designers bedenken meestal niet in een logische procedure is te verwerken. Dan maak ik een custom template waarin enkel de velden worden opgenomen waar ik het wil. Nadeel van die opzet is dan dat als een gebruiker een nieuw veld toevoegt, dit niet wordt meegenomen.
Voorbeeld:
Code: Select all
{* Custom formulier *}
{$fb_form_header}
{* and now the form itself *}
{$fb_form_start}
<div>{$fb_hidden}</div>
<span class="frm_static frm">{$static_ug->input}</span>
<span class="frm_textinput frm {if $mailadres->valid != 1} invalid{/if}">
<span class="label">* mailadres</span>
<span class="textinput">{$mailadres->input}</span>
</span>
<span class="frm_textinput frm {if $naam->valid != 1} invalid{/if}">
<span class="label">* naam</span>
<span class="textinput">{$naam->input}</span>
</span>
{* beetje weggelaten als voorbeeld *}
<span class="frm_static frm">{$static_opleiding->input}</span>
<span class="frm_radiogroup frm {if $opleiding->valid != 1} invalid{/if}">
{section name=numloop loop=$opleiding->input}
{if $opleiding->input[numloop]->title == 'BIJSCHOLING'}
<span class="frm_static frm">BIJSCHOLING</span>
{else}
<span>{$opleiding->input[numloop]->input} {$opleiding->input[numloop]->name}</span>
{/if}
{/section}
</span>
<span class="frm_checkbox frm {if $chk_av->valid != 1} invalid{/if}">{$chk_av->input}</span>
<span class="frm_static frm frm_static_av">{$static_av->input}</span>
<span class="frm_submit frm">{$submit}</span>
<span class="frm_static frm"><h5>* verplichte velden</h5></span>
{$fb_form_end}
Re: [Formbuilder] css class toevoegen
Oh kijk, dat is eigenlijk precies wat ik bedoel.
Daar kan ik wel mee uit de voeten, mijn dank is groot!
Als ik even snel wat aanpas naar mijn situatie en het probeer te versturen gebeurt er niets, moet ik nog ergens aan denken behalve het template aanpassen?
Daar kan ik wel mee uit de voeten, mijn dank is groot!
Als ik even snel wat aanpas naar mijn situatie en het probeer te versturen gebeurt er niets, moet ik nog ergens aan denken behalve het template aanpassen?
Re: [Formbuilder] css class toevoegen
You can edit it to make your form layout look any way you'd like. To make the form work, you'll need to always include the {$fb_hidden} and {$submit} tags.
You can access your form fields either using the $fields array or by directly accessing fields by their names (e.g., {$myfield->input} )
Re: [Formbuilder] css class toevoegen
Thanks, had het al gevonden. Enige wat ik nog mis is een manier om de <form> tag zelf te beinvloeden. Daarvoor zal ik denk ik toch de code in moeten 

Re: [Formbuilder] css class toevoegen
ligt er ook weer aan wat je wilt bereiken...
Ik ben nog nooit de code in hoeven duiken voor iets. Je kunt de class van het form zelf ook weer aanpassen. 'Start' tab van het formulier zelf.
Ik ben nog nooit de code in hoeven duiken voor iets. Je kunt de class van het form zelf ook weer aanpassen. 'Start' tab van het formulier zelf.
Re: [Formbuilder] css class toevoegen
Nee dat lukt helaas niet. Wat hij dan doet is die css tag gebruiken om een extra <div> te plaatsen met die css tag.
Re: [Formbuilder] css class toevoegen
Dan gebruik je die toch?
div.jouw-class form { width : 300px; }
div.jouw-class form { width : 300px; }
Re: [Formbuilder] css class toevoegen
----------
Last edited by deactivated010521 on Tue Mar 12, 2013 2:59 pm, edited 3 times in total.
Re: [Formbuilder] css class toevoegen
Ik ben inmiddels eigenlijk wel zo ver dat ik alles kan beinvloeden, met als compromis dat ik sommige dingen handmatig in het formulier template zet.
De enige aanpassing die ik 'hard' in de code van smarty heb aangepast is de css class die deze gebruikt voor de <form> tag. Dit is te vinden in (vanuit de root van de site): lib/classes/module_support/modform.inc.php
De rest (met dank aan velden) heb ik in een custom template gestopt.
Bijvoorbeeld:
Gelukkig richt ik deze site zelf in en kan ik dus alles wel op deze manier inrichten. Voor een nieuwe versie van deze module zou dit wel een grote wens zijn, alle classes zelf beinvloeden en de opbouw van <label> en <input> tags.
Ingrijpen in de codebase is geen hobby, want bij een update ben je dit natuurlijk kwijt zoals arnoud aangeeft. In dit geval is het echter geen probleem omdat ik deze wijzigingen even opneem in het update document wat ik opstel.
De enige aanpassing die ik 'hard' in de code van smarty heb aangepast is de css class die deze gebruikt voor de <form> tag. Dit is te vinden in (vanuit de root van de site): lib/classes/module_support/modform.inc.php
De rest (met dank aan velden) heb ik in een custom template gestopt.
Bijvoorbeeld:
Code: Select all
<div class="control-group {if $email->valid != 1} error{/if}">
<label class="control-label" for="inputEmail">Email *</label>
<div class="controls">
{$email->input}
{if $email->valid != 1}
<div class="help-inline">Zou u uw e-mailadres willen invullen?</div>
{/if}
</div>
</div>
Ingrijpen in de codebase is geen hobby, want bij een update ben je dit natuurlijk kwijt zoals arnoud aangeeft. In dit geval is het echter geen probleem omdat ik deze wijzigingen even opneem in het update document wat ik opstel.
Re: [Formbuilder] css class toevoegen
----------
Last edited by deactivated010521 on Tue Mar 12, 2013 3:00 pm, edited 1 time in total.
Re: [Formbuilder] css class toevoegen
Punt is dat ik vaak ontwerpen krijg aangeleverd van een design-bureau. Die houden dan vaak geen rekening met de (on)mogelijkheden van de FormBuilder-module.arnoud wrote: Ik snap dat 'velden' de de weg van de minste weerstand kiest en statische code invoert in de Smarty template. Al met al werkt dit prima, meestal veranderen de velden van een formulier niet of nauwelijks.
Toch heb ik wel enige vraag tekens: de aardigheid van FormBuilder is dat een niet technische gebruiker een en ander kan aanpassen met statische code wordt dit teniet gedaan.
Praktijk is dat zo'n form zelden wijzigt en als dat wel het geval is, dan pas ik het óf zelf aan in 5 minuten, óf ik maak een stukje wel dynamisch.
Bedenk ook dat bijvoorbeeld het e-mail template aangepast moet worden als er een veld wordt toegevoegd of verdwijnt. Ik schat in dat een gemiddelde 'gebruiker' dat zo zou vergeten.
Enige dat ooit door gebruikers wordt aangepast is keuzelijst (radiobuttons) voor bijvoorbeeld cursus-aanbod. Binnen zo'n custom template is het eenvoudig omdat dynamisch te maken.
Re: [Formbuilder] css class toevoegen
Je hebt natuurlijk helemaal gelijk dit met regex te doen. Dat is de manier om dat te doen. Why didn't I think of that.
Dat maakt het toevoegen van de classes die ik nodig heb een eitje.
Net als velden al aangeeft is het ook in mijn geval zo dat ik meestal de formulieren aanpas, en niet de eindgebruiker van het CMS. Daarom zijn de ingrepen eigenlijk geen enkel probleem.
Het mooiste zou inderdaad zijn als Formbuilder je helemaal vrij laat in wat je aan <div>'s en classes toevoegt. Vooralsnog vindt ik CMS Made Simple het allerfijnste en meest flexibele CMS wat ik gebruikt heb en neem ik deze dingen dus graag voor lief.
Dat maakt het toevoegen van de classes die ik nodig heb een eitje.
Net als velden al aangeeft is het ook in mijn geval zo dat ik meestal de formulieren aanpas, en niet de eindgebruiker van het CMS. Daarom zijn de ingrepen eigenlijk geen enkel probleem.
Het mooiste zou inderdaad zijn als Formbuilder je helemaal vrij laat in wat je aan <div>'s en classes toevoegt. Vooralsnog vindt ik CMS Made Simple het allerfijnste en meest flexibele CMS wat ik gebruikt heb en neem ik deze dingen dus graag voor lief.