Using CakePHP FormHelper with Bootstrap Forms

前端 未结 9 600
天命终不由人
天命终不由人 2020-12-12 14:56

CakePHP\'s FormHelper is how you generate forms when making CakePHP applications. As one might assume, this includes generating input elements, like so:

$thi         


        
相关标签:
9条回答
  • 2020-12-12 14:56

    small add for another comments:

    if you whant add class and change label base text, you can write next

    <?php echo $this->Form->input('Fieldname', array(
        'label' => array('class' => 'control-label','text'=>'HERE YOU LABEL TEXT')
    )); ?>
    
    0 讨论(0)
  • 2020-12-12 14:57

    Here's a solution for Bootstrap 3

    <?php echo $this->Form->create('User', array(
    'class' => 'form-horizontal', 
    'role' => 'form',
    'inputDefaults' => array(
        'format' => array('before', 'label', 'between', 'input', 'error', 'after'),
        'div' => array('class' => 'form-group'),
        'class' => array('form-control'),
        'label' => array('class' => 'col-lg-2 control-label'),
        'between' => '<div class="col-lg-3">',
        'after' => '</div>',
        'error' => array('attributes' => array('wrap' => 'span', 'class' => 'help-inline')),
    ))); ?>
    <fieldset>
        <legend><?php echo __('Username and password'); ?></legend>
        <?php echo $this->Form->input('username'); ?>
        <?php echo $this->Form->input('password'); ?>
    </fieldset>
    <?php echo $this->Form->end(__('Login')); ?>
    

    In case a field needs its own label:

    <?php echo $this->Form->input('username', array('label' => array('text' => 'Your username', 'class' => 'col-lg-2 control-label'))); ?>
    
    0 讨论(0)
  • 2020-12-12 15:04

    Here's one way:

    <?php echo $this->Form->create(null, array(
        'inputDefaults' => array(
            'div' => array('class' => 'control-group'),
            'label' => array('class' => 'control-label'),
            'between' => '<div class="controls">',
            'after' => '</div>',
            'class' => '')
    )); ?>
    
    0 讨论(0)
  • 2020-12-12 15:04

    Applying the same principle as above to the form->end function as follows:

    <?php echo $this->Form->end(array(
        'label' => __('Submit'),
        'class' => 'btn',
        'div' => array(
            'class' => 'control-group',
            ),
        'before' => '<div class="controls">',
        'after' => '</div>'
    ));?>
    

    To produce:

    <div class="control-group">
      <div class="controls">
        <input class="btn" type="submit" value="Submit">
      </div>
    </div>
    
    0 讨论(0)
  • 2020-12-12 15:13

    Luc Franken posted this link in his comment: http://github.com/slywalker/cakephp-plugin-boost_cake

    It took me a while to notice it, so for those who are still looking for the simplest solution:

    Simply add the CakePHP Bootstrap plugin from GitHub and let the helper do the job for you!

    0 讨论(0)
  • 2020-12-12 15:14

    I had the same problem using slywalker / cakephp-plugin-boost_cake, I open a ticket and he had it fix in a few hours, he updated to 1,03 and told me to use it like this

    <?php echo $this->Form->input('email', array(
        'label' => array(
            'text' => __('Email:'),
        ),
        'beforeInput' => '<div class="input-append">',
        'afterInput' => '<span class="add-on"><i class="icon-envelope"></i></span></div>'
    )); ?>
    

    I hope it helps some one else too

    0 讨论(0)
提交回复
热议问题