2013-04-23 67 views
0

我想在CakePHP中使用TwitterBoostrap并排放置两个输入。CakePHP窗体与TwitterBoostrap(控件控件行)

这是我的一段代码

<?php echo $this->Form->create('Ad',array("class"=>"well row-fluid")); ?> 
    <fieldset> 
     <legend><?php echo __('Add Ad'); ?></legend> 
     <?php echo $this->Form->input('user_id',array('class'=>'span3'));?> 
     <div class="controls controls-row"> 
      <?php echo $this->Form->input('state_id', array('empty' => 'Selecione o Estado','class'=>'span2','div'=));?> 
      <?php echo $this->Form->input('city_id', array('empty' => 'Selecione a Cidade','class'=>'span5'));?> 
     </div> 

输出看起来像:

State 
|----------| City 
      |----------| 

市心不是一致。我该如何解决它?

我该如何解决?

回答

0

在CakePHP中使用Bootstrap时,我经常发现通过从希望创建的HTML开始工作很有用。如果我没有理解你的问题,你想产生如下:

<form class="well-row"> 
    <div class="span3"> 
     <label class="control-label">State</label> 
     <select name="state">...</select> 
    </div> 
    <div class="span3"> 
     <label class="control-label">City</label> 
     <select name="state">...</select> 
    </div> 
</form> 

我知道CakePHP的形式助手也围绕inputlabel元素与div标签,这将破坏你的布局。我通常做以下给我了标记更大的控制权:

<?php echo $this->Form->create('Ad', array('inputDefaults' => array('div' => false)))?> 

总之,请尝试以下操作:

<?php echo $this->Form->create('Ad', array('inputDefaults' => array('div' => false)))?> 
<div class="span5"> 
    <?php echo $this->Form->input('state_id', array('empty' => 'Selecione o Estado', 'class' => 'span3'));?> 
</div> 
<div class="span5"> 
    <?php echo $this->Form->input('city_id', array('empty' => 'Selecione a Cidade', 'class' => 'span3'));?> 
</div> 

您可能需要增加容器的div的范围,以适应任何在标签上填充或选择元素以阻止它们缠绕。

+0

正是!谢谢! – Henricristo 2013-04-24 18:33:42