如何在zend框架视图中回显在application.ini中设置的doctype

时间:2011-08-17 10:13:11

标签: zend-framework doctype

在我的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上)?

1 个答案:

答案 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();