как отобразить doctype, установленный в application.ini, в представлении Zend Framework - PullRequest
3 голосов
/ 17 августа 2011

В моем приложении Zend Framework я хочу отобразить тип документа в макете моего представления с помощью:

<?= $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 игнорируются и вместо этого используется тип документа по умолчанию.

Есть ли способ отобразить тип документа в моем представлении / макете безс помощью начальной загрузки (я знаю, что это работает, но я не хочу, чтобы мои настройки были разбросаны по application.ini и начальной загрузке)?

1 Ответ

3 голосов
/ 18 августа 2011

вам нужно настроить свой вид в 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();
...