0

TwitterBoostrap を使用して、cakePHP に 2 つの入力を並べて配置しようとしています。

これは私のコードです

<?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
             |----------|

都市が一致していません。どうすれば解決できますか?

どうすれば修正できますか?

4

1 に答える 1

0

Bootstrap を CakePHP で使用する場合、作成したい HTML から作業を戻すことで、Bootstrap が役立つことがよくあります。私があなたの質問を正しく理解できたら、次のようなものを作成してください:

<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 のフォーム ヘルパーがレイアウトを台無しにするタグでinput要素labelを囲むことを認識しています。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 のスパンを増やすか、要素を選択してラップを停止する必要がある場合があります。

于 2013-04-24T12:24:59.343 に答える