Проверка формы codeIgniter не работает при передаче представления в виде строки - PullRequest
2 голосов
/ 01 ноября 2011

В настоящее время я изучаю CodeIgniter и использую его для небольшого проекта. Я хотел бы сделать шаблон, чтобы мне не нужно было писать повторяющийся код для представлений. Мне нравится ответ jruzafa в этом посте: Как справиться с шаблонами Codeigniter?

В контроллере:

    //Charge the view inside array
    $data['body'] = $this->load->view('pages/contact', '', true);


    //charge the view "contact" in the other view template
    $this->load->view('template', $data);

В представлении template.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es"> 
<head> 
    <title>Template codeigniter</title> 
</head> 
<body> 
    <div> 
        <?=$body?>
    </div> 
    <div class="clear"></div> 
    <div>Footer</div> 
    </div> 
</body> 
</html> 

$ body - это вид контакта.

Но теперь я столкнулся с проблемой. Проверка формы не работает, если я передаю form_view в виде строки в $ data ['body']. Есть ли способ обойти это?

Спасибо.

1 Ответ

3 голосов
/ 01 ноября 2011

Попробуйте загрузить содержимое тела в самом шаблоне.Это должно позволить вам быть более избирательным при выводе:

В контроллере:

// Set the path to body content inside the $data array
$data['path_to_body'] = 'pages/contact';
$this->load->view('template', $data);

В представлении template.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es"> 
<head> 
    <title>Template codeigniter</title> 
</head> 
<body> 
    <div> 
        <? $this->load->view($path_to_body) ?>
    </div> 
    <div class="clear"></div> 
    <div>Footer</div> 
    </div> 
</body> 
</html> 
...