NewbieSSProgrammer NewbieSSProgrammer - 1 year ago 95
CSS Question

Silverstripe better form looking on templates

I have a designed template on photoshop from a client. My interrogation... When I saw the template is: Can I put 2 fields side-by-side? I want to have f_firstname and f_lastname on one row... Is there anyway to inject tags or piece of code with classes like ex: div="column1of2" $field_here close div to have a 2 columns for 2 fields?

Actually, code generate each fields are on separates rows. That's not very pretty. Possible?

I have this code :

private static $allowed_actions = array(

public function FormInfolettre() {
$fields = new FieldList(
EmailField::create('f_email', 'Votre courriel'),
TextField::create('f_firstname', 'Votre prénom'),
TextField::create('f_lastname', 'Votre nom'),
TextField::create('f_message', 'Votremessage'),

$actions = new FieldList(

$required = new RequiredFields(


$form = new Form($this, 'FormInfolettre', $fields, $actions, $required);

return $form;

wmk wmk
Answer Source

You can create FieldGroups for the container div and add extra css classes to the fields like

$fields = FieldList::create();

$firstName = TextField::create('FirstName','First Name')->addExtraClass('small-8 medium-4 large-5 columns');
$surname = TextField::create('Surname','Surname')->addExtraClass('small-12 medium-5 large-5 columns');

$nameGroup = FieldGroup::create($firstName, $surname);

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download