【问题标题】:Twig and CodeIgniter form rendering issue. Form is being displayed as a String and not the HTML formTwig 和 CodeIgniter 表单渲染问题。表单显示为字符串而不是 HTML 表单
【发布时间】:2014-05-26 07:48:28
【问题描述】:

我第一次使用 Twig 模板和 CodeIgniter。我习惯了框架的默认 form 功能,但我被要求尝试使用 Twig 呈现表单。我发现 模板引擎 既好用又令人困惑。这意味着,我的控制器的代码会很胖。但这里的主要问题是使用 twig 渲染表单。

下面是我以前在渲染表单时会做的事情。查看:TableSample.php

<?php 
    echo form_open("", array("name"=>"form_reg", "method"=>"post", "id"=>"form_reg"));
    echo form_input("type"=>"text", "name"=>"fname", "value"=>set_value("fname"));
    echo form_input("type"=>"text", "name"=>"lname", "value"=>set_value("lname"));
    echo form_input("type"=>"text", "name"=>"emailaddress", "value"=>set_value("emailaddress"));
    echo form_input("type"=>"submit", "name"=>"submit", "value"=>"Submit");
    echo form_close();
?>

控制器:register.php

public function register (){
  $this->load->view("TableSample");
  if($this->input->post("submit")) {
    /** retrieve input details, pass them as array to model, then redirect if registration is successful**/
  }
}

但由于我必须使用 Twig,所以情况有所不同。

public function register () {
   $detail["form_open"] = form_open("", array("name"=>"form_reg", "method"=>"post", "id"=>"form_reg"));
   $detail["form_input_name"] = form_input("type"=>"text", "name"=>"fname");
   $detail["form_input_lname"] = form_input("type"=>"text", "name"=>"lname");
   $detail["form_input_eadd"] = form_input("type"=>"text", "name"=>"email");
   $detail["form_input_submit"] = form_input("type"=>"submit", "name"=>"submit", "value"=>"Submit");
   $detail["form_close"] = form_close();

   //codes for saving here

   //call twig view
   $this->twig->display("tableSample.html.twig", $detail);
}

tableSample.html.twig 会是这样的:

<html>
<head></head>
<body>
  {{ form_open }} //will display form as a **String** and not THE **HTML** like this:
    <form method="post" name="form_reg" id="form_reg"></form>
  {{ form_close }} 
</body>
</html>

我知道我遗漏了一些东西,请指出正确的渲染方式。谢谢!

【问题讨论】:

    标签: html codeigniter twig


    【解决方案1】:

    好的,我想我明白了。 raw 使之成为可能。 Twig Raw Filter

    【讨论】:

    • 2014 年回答,仍然对我有帮助。谢谢!
    猜你喜欢
    • 2015-03-09
    • 2016-07-14
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    • 2013-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多