在我的Zend Framework应用程序中,我想在视图布局中用以下内容回显doctype:
<?= $this->doctype() . "\n"; ?>
我的application.ini中有以下几行:
resources.view[] =
resources.view.doctype = "HTML5"
resources.view.charset = "UTF-8"
给了我:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
显然会忽略application.ini中的设置,而是使用默认的doctype。
有没有办法在不使用引导程序的情况下在我的视图/布局中回显doctype(我知道它有效,但我不希望我的设置分散在application.ini和bootstrap上)?
答案 0 :(得分:3)
您需要在bootstrap.php中配置视图
protected function _initView()
{
// Initialize view
$view = new Zend_View();
$view->doctype('XHTML1_TRANSITIONAL');
$view->setEncoding('UTF-8');//per , htmlentities($str, ENT_QUOTES, "UTF-8");
$view->headTitle('ABC');
// Add it to the ViewRenderer
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
$viewRenderer->setView($view);
// Return it, so that it can be stored by the bootstrap
return $view;
}
然后在布局或某些视图中使用
echo $this->doctype();