Удалить разрыв строки из кнопок отправки формы CakePHP и ссылки

Я изменяю свою форму входа в CakePHP и хочу добавить кнопку регистрации после кнопки входа. Однако CakePHP создает разрыв строки между этими двумя элементами:

введите здесь описание изображения

Мой файл login.ctp:

<?php
/**
 * Copyright 2010 - 2011, Cake Development Corporation (http://cakedc.com)
 *
 * Licensed under The MIT License
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright Copyright 2010 - 2011, Cake Development Corporation (http://cakedc.com)
 * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
 */
?>
<div class="row-fluid">
    <div class="span4"></div>
    <div class="span4">
        <fieldset>
            <?php
            echo $this->Form->create($model, array(
                'plugin' => 'users', 'controller' => 'users',
                'language' => $this->Session->read('Config.language'),
                'id' => 'LoginForm', 'class' => 'well'));
            ?>
            <div class="row-fluid">
                <?php
                if ($_SERVER['HTTP_HOST'] == Configure::read('webakis.touchscreen_host')) {
                    echo $this->Form->input('name', array(
                        'label' => __('Name'), 'class' => 'span12'));

                    echo $this->Form->input('surname', array(
                        'label' => __('Surname'), 'class' => 'span12'));
                } else {
                    echo $this->Form->input('email', array(
                        'label' => __('Email or name surname'), 'type' => 'text', 'class' => 'span12'));
                }
                echo $this->Form->input('password', array(
                    'label' => __('Password'), 'class' => 'span12'));

//                echo '<p>' . $this->Form->checkbox('remember_me') .  __( 'Remember Me') . '</p>';
                //echo '<p>' . $this->Html->link(__( 'I forgot my password'), array('action' => 'reset_password')) . '</p>';

                echo $this->Form->hidden('User.return_to', array(
                    'value' => $return_to));
                // echo $this->Form->end(__( 'Sing in') );
                ?>
                <div class="row-fluid">
                <?php
                echo $this->Form->submit(__('Sign in'), array('class' => 'btn span6'));

                echo $this->Html->link(__('Create an Account'), array('plugin' => 'users', 'controller' => 'users', 'action' => 'add'), array('class' => 'btn span6'));
                ?>
                </div>        
                <p><?php
                if ($_SERVER['HTTP_HOST'] !== Configure::read('webakis.touchscreen_host')) {
                    echo $this->Html->link(__('Forgot your password?'), array('action' => 'reset_password'));
                }
                ?>
                </p>
            <div class="btn btn-facebook"><i class="fa fa-facebook"></i>
                <?php echo $this->Html->link('Connect with Facebook', $fb_login_url);?>
            </div></br></br>     
            </div><?php echo $this->Form->end(); ?>

            </form>
        </fieldset>

    </div>
    <div class="span4"></div>
</div>

Я пытался использовать класс Bootstrap «row-fluid», чтобы поместить их в одну строку, но это не сработало.


person kaktusas2598    schedule 07.08.2014    source источник


Ответы (1)


Это не разрыв строки, как в <br>, а кнопка заключена в блочный элемент (по умолчанию div).

Либо отключить его

echo $this->Form->submit(__('Sign in'), array(
    'class' => 'btn span6',
    'div' => false
));

или используйте опцию after, чтобы вставить другую кнопку/ссылку в элемент упаковки:

$link = $this->Html->link(__('Create an Account'), array(
    'plugin' => 'users',
    'controller' => 'users',
    'action' => 'add'
),
array('class' => 'btn span6'));

echo $this->Form->submit(__('Sign in'), array(
    'class' => 'btn span6',
    'after' => $link
));

См. также http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#options

person ndm    schedule 07.08.2014