【问题标题】:Applying PURE html in view (.ctp file) in CakePHP在 CakePHP 的视图(.ctp 文件)中应用 PURE html
【发布时间】:2015-01-30 02:19:05
【问题描述】:

我只是想问一下是否可以用纯html创建一个ctp文件?例如,我想添加一个表单,我的代码将是:

<form>First name:<br><input type="text" name="firstname"><br>Last name:<br><input type="text" name="lastname"></form>

不是这样的:

<?php echo $this->Form->create('User');?>
<fieldset>
    <legend><?php __('Add User'); ?></legend>
<?php
    echo $this->Form->input('lastname');
    echo $this->Form->input('firstname');
    echo $this->Form->input('email');
    echo $this->Form->input('organizer_pic');
    echo $this->Form->input('description');
    echo $this->Form->input('website');
    echo $this->Form->input('company');
    echo $this->Form->input('organization');
    echo $this->Form->input('contact_num');
    echo $this->Form->input('username');
    echo $this->Form->input('password');
    echo $this->Form->input('group_id');
?>
</fieldset><?php echo $this->Form->end(__('Submit', true));?>

你们觉得有可能吗?我希望它是纯 html,因为我很难用 Bootstrap 创建一个好的布局。我正在使用 CakePHP 1.3。如果您有任何想法,请告诉我。

【问题讨论】:

  • 当然有可能,就像有一个只包含 HTML 的 .php 文件一样。
  • 那么我可以使用 PURE html 吗?像这样
    @scrowler
  • 是的,没错。
  • 谢谢!我会试试的! :) @scrowler

标签: html cakephp cakephp-1.3


【解决方案1】:

您可以在 ctp 文件中包含纯 html,但您也需要在控制器中执行操作。您可以将操作留空。

【讨论】:

  • 如果我把action留空,如果我要在一个ctp文件中制作两个表格呢?
  • 没关系。只是为了让我们在页面中,您是否将表单提交给相同的操作?
  • 我以前写的是纯html,不喜欢cakephp约定。忽略我的“您可以将操作留空”评论和我的后续评论。随心所欲地行动。但是直接回答你的问题。您可以在 ctp 中拥有纯 html。 :P
  • 哈哈哈。谢谢@Jason! :)
【解决方案2】:
You should try this
<div class="row">
                    <div class="col-md-6">
                <?php echo $this->Form->create('User');?>
                <fieldset>
                    <legend><?php __('Add User'); ?></legend>
                    <div class="form-group has-feedback">
                                    <label>Username</label>
                                    <?php echo $this->Form->input('lastname',array('class'=>'form-control','label'=>false,'div'=>false));
                                    ?>
                                    <i class="icon-users form-control-feedback"></i>
                   </div>
                   <div class="form-group has-feedback">
                                    <label>firstname</label>
                                    <?php echo $this->Form->input('firstname',array('class'=>'form-control','label'=>false,'div'=>false));
                                    ?>
                                    <i class="icon-users form-control-feedback"></i>
                    </div>
                    <div class="form-group has-feedback">
                                    <label>Email</label>
                                    <?php echo $this->Form->input('email',array('class'=>'form-control','label'=>false,'div'=>false));
                                    ?>
                                    <i class="icon-users form-control-feedback"></i>
                    </div>
                     <div class="form-group has-feedback">
                                    <label>organizer_pic</label>
                                    <?php echo $this->Form->input('organizer_pic',array('class'=>'form-control','label'=>false,'div'=>false));
                                    ?>
                                    <i class="icon-users form-control-feedback"></i>
                    </div>
                    <div class="form-group has-feedback">
                                    <label>description</label>
                                    <?php echo $this->Form->input('description',array('class'=>'form-control','label'=>false,'div'=>false));
                                    ?>
                                    <i class="icon-users form-control-feedback"></i>
                    </div>
                     <div class="form-group has-feedback">
                                    <label>website</label>
                                    <?php echo $this->Form->input('website',array('class'=>'form-control','label'=>false,'div'=>false));
                                    ?>
                                    <i class="icon-users form-control-feedback"></i>
                    </div>
                     <div class="form-group has-feedback">
                                    <label>company</label>
                                    <?php echo $this->Form->input('company',array('class'=>'form-control','label'=>false,'div'=>false));
                                    ?>
                                    <i class="icon-users form-control-feedback"></i>
                    </div>
                     <div class="form-group has-feedback">
                                    <label>organization</label>
                                    <?php echo $this->Form->input('organization',array('class'=>'form-control','label'=>false,'div'=>false));
                                    ?>
                                    <i class="icon-users form-control-feedback"></i>
                    </div>
                    <div class="form-group has-feedback">
                                    <label>contact number</label>
                                    <?php echo $this->Form->input('contact_num',array('class'=>'form-control','label'=>false,'div'=>false));
                                    ?>
                                    <i class="icon-users form-control-feedback"></i>
                    </div>
                    <div class="form-group has-feedback">
                                    <label>username</label>
                                    <?php echo $this->Form->input('username',array('class'=>'form-control','label'=>false,'div'=>false));
                                    ?>
                                    <i class="icon-users form-control-feedback"></i>
                    </div>
                     <div class="form-group has-feedback">
                                    <label>password</label>
                                    <?php echo $this->Form->input('password',array('class'=>'form-control','label'=>false,'div'=>false));
                                    ?>
                                    <i class="icon-users form-control-feedback"></i>
                    </div>
                     <div class="form-group has-feedback">
                                    <label>group id</label>
                                    <?php echo $this->Form->input('group_id',array('class'=>'form-control','label'=>false,'div'=>false));
                                    ?>
                                    <i class="icon-users form-control-feedback"></i>
                    </div>
                     <div class="form-group has-feedback">
                     <?php
                     echo $this->Form->button('Submit',array('class'=>'btn btn-success btn-xs','div'=>false),array('escape'=>false)
                            );
                     ?>
                     </div>
                </fieldset><?php echo $this->Form->end();?>
                </div>
                </div>

输出

HTML 输出

<div class="col-md-6">
                               <form action="/BTSSO/Users/demo/" id="UserDemoForm" method="post" accept-charset="utf-8"><div style="display:none;"><input type="hidden" name="_method" value="POST"/></div>            <fieldset>
                      <legend></legend>
                      <div class="form-group has-feedback">
                                      <label>Username</label>
                                      <input name="data[User][lastname]" class="form-control" type="text" id="UserLastname"/>                                <i class="icon-users form-control-feedback"></i>
                     </div>
                     <div class="form-group has-feedback">
                                      <label>firstname</label>
                                      <input name="data[User][firstname]" class="form-control" type="text" id="UserFirstname"/>                                <i class="icon-users form-control-feedback"></i>
                      </div>
                      <div class="form-group has-feedback">
                                      <label>Email</label>
                                      <input name="data[User][email]" class="form-control" type="email" id="UserEmail"/>                                <i class="icon-users form-control-feedback"></i>
                      </div>
                       <div class="form-group has-feedback">
                                      <label>organizer_pic</label>
                                      <input name="data[User][organizer_pic]" class="form-control" type="text" id="UserOrganizerPic"/>                                <i class="icon-users form-control-feedback"></i>
                      </div>
                      <div class="form-group has-feedback">
                                      <label>description</label>
                                      <input name="data[User][description]" class="form-control" type="text" id="UserDescription"/>                                <i class="icon-users form-control-feedback"></i>
                      </div>
                       <div class="form-group has-feedback">
                                      <label>website</label>
                                      <input name="data[User][website]" class="form-control" type="text" id="UserWebsite"/>                                <i class="icon-users form-control-feedback"></i>
                      </div>
                       <div class="form-group has-feedback">
                                      <label>company</label>
                                      <input name="data[User][company]" class="form-control" type="text" id="UserCompany"/>                                <i class="icon-users form-control-feedback"></i>
                      </div>
                       <div class="form-group has-feedback">
                                      <label>organization</label>
                                      <input name="data[User][organization]" class="form-control" type="text" id="UserOrganization"/>                                <i class="icon-users form-control-feedback"></i>
                      </div>
                      <div class="form-group has-feedback">
                                      <label>contact number</label>
                                      <input name="data[User][contact_num]" class="form-control" type="text" id="UserContactNum"/>                                <i class="icon-users form-control-feedback"></i>
                      </div>
                      <div class="form-group has-feedback">
                                      <label>username</label>
                                      <input name="data[User][username]" class="form-control" maxlength="255" type="text" id="UserUsername" required="required"/>                                <i class="icon-users form-control-feedback"></i>
                      </div>
                       <div class="form-group has-feedback">
                                      <label>password</label>
                                      <input name="data[User][password]" class="form-control" type="password" id="UserPassword" required="required"/>                                <i class="icon-users form-control-feedback"></i>
                      </div>
                       <div class="form-group has-feedback">
                                      <label>group id</label>
                                      <select name="data[User][group_id]" class="form-control" id="UserGroupId">
                          </select>  <i class="icon-users form-control-feedback"></i>
                      </div>
                         <div class="form-group has-feedback">

                   <button class="btn btn-success btn-xs"  type="submit">Submit</button>                        </div>
                  </fieldset>
            </form>            
            </div>

【讨论】:

  • 感谢@vikram。我尝试了您刚刚在上面发布的代码。但是我仍然遇到问题,尤其是当我开始在我的代码中添加 Javascript 时。不过谢谢分享! :)
【解决方案3】:
<form action="/project_name/users/add" id="UserAddForm" method="post">
   First name:<br>
   <input type="text" name="data[User][firstname]"><br>
   Last name:<br>
   <input type="text" name="data[User][lastname]"><br>
   <input type="submit" value="Submit">
</form>

我认为这不是推荐的解决方案

如果您需要在 input() 方法的输出中注入一些标记,请使用这些键:

echo $this->Form->input('field', array(
    'before' => '--before--',
    'after' => '--after--',
    'between' => '--between---'
));

输出:

<div class="input">
--before--
<label for="UserField">Field</label>
--between---
<input name="data[User][field]" type="text" value="" id="UserField" />
--after--
</div>

可以参考以下链接进行更多自定义

http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#options

【讨论】:

  • 这就是我问的。 :) 谢谢@Abhijeet :)
  • 我没有按下按钮。 @Abhijeet。
  • 不推荐像这样在 CakePHP 中编写表单并且不使用 Form helper。如果您用纯 html 编写表单,您将失去 CakePHP 表单助手的所有魔力。您将需要手动完成所有操作。表单值填充、验证错误显示等。使用 CakePHP 1.3 表单助手可以实现与 Boostrap 兼容的表单输出,而不会出现大问题。您只需要使用每个表单的默认表单或创建自己的 FormHelper,默认情况下将生成与引导程序兼容的表单。您所需要的只是学习表单助手文档并尝试一下:)
  • 你这么认为@thanat?因为我很难过,尤其是在 JavaScript 上。好像效果不好。我不知道为什么。我正在使用集成了 Bootstrap 3.0 的 CakePHP 1.3。而且我使用了很多javascript。我不知道我是否很好地使用了 Javascript。我是 CakePHP 的新手。而我只是一个人学习。所以,我不知道我做得对不对。我习惯于以原生/root 方式创建 PHP 应用程序。
  • 你这不是推荐的解决方案@nosnevetzy 告诉我你有什么问题
猜你喜欢
  • 2017-02-09
  • 1970-01-01
  • 2012-12-01
  • 2011-04-08
  • 2015-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多