2016-08-22 43 views
1

我目前正在嘗試風格由symfony表單構建器生成的窗體。從造型時間小工具Symfony

有一個引導覆蓋,但我想移動時間小工具,讓他們對齊彼此。

form view

twig template rows formbuilder

+0

就可以看到你的表單類型? – DOZ

+0

@DOZ查看更新 –

+0

謝謝我編輯我的答案 – DOZ

回答

1

您可以顯示錶單的每個輸入獨立使用

form_row(form.yourinputname)

form_row是字段的標籤,錯誤和部件的組合。

你可以看到doc這個

編輯:

所以,如果你想顯示在一行中的一些小部件,你可以做到這一點(你必須使用一個循環來顯示每個輸入您的表單集合):

<style type="text/css"> 
    .myClass{ 
     .inline{ 
     display: inline-block; 
     } 
    } 
</style> 

<div class='myClass'> 
    {% for business in form.businesshours %} 
     <div class="inline">{{ form_row(business.day) }}</div> 
     <div class="inline">{{ form_row(business.openTime) }}</div> 
     <div class="inline">{{ form_row(business.breakStart) }}</div> 
     <div class="inline">{{ form_row(business.breakEnd) }}</div> 
     <div class="inline">{{ form_row(business.closeTime) }}</div> 
    {% endfor %} 
</div> 
+0

這並不能真正解決問題,它只是渲染表單的另一種方式,但樣式保持不變,目標是將時間部件放在一行上:/ –

+0

使用form_row允許你分別顯示輸入,所以你可以在這之後使用css在一行上對齊時間部件,請參閱我的編輯請 – DOZ

+0

這只是打印'form_row(business.day)'不是部件 –

0

添加HTML以移動每個表單行。 (與@DOZ相同的答案,但帶有引導類)。

刪除{{ form_row(form.businessHours) }}和:

<div class="row"> 
    <div class="col-xs-3"> 
     {{ form_row(form.businessHours.Begin) }} 
    </div>  
    <div class="col-xs-3"> 
     {{ form_row(form.businessHours.BeginPauze) }} 
    </div>  
    <div class="col-xs-3"> 
     {{ form_row(form.businessHours.EindPauze) }} 
    </div>  
    <div class="col-xs-3"> 
     {{ form_row(form.businessHours.Einde) }} 
    </div>  
</div> 
+0

This將工作,但我不能訪問這些行,因爲它是一個部分形式看到我的更新^ –

+0

答案更新。 – Alsatian

+0

這似乎沒有工作希望它那麼容易 –

1

http://symfony.com/doc/current/form/form_customization.html#how-to-customize-an-individual-field

在本節還有就是覆蓋某個單行顯示的一部分,如果你嘗試類似的東西,並給股利一類你自己可能會使用CSS來設計它。

雖然這似乎是頁面去表單樣式和自定義。

希望它可以幫助

{% form_theme form _self %} 
{% block _datetime_row %} 
<div class="your_class"> 
{{ form_label(form) }} 
{{ form_errors(form) }} 
{{ form_widget(form) }} 
</div> 
{% endblock %} 

{{ form_row(form.name) }}