Разрывы строк и белые линии вывода Zend layout.html
Согласно стандарту Zend Framework, я использую Zend_Layout.
zf create project demo
cd demo
zf enable layout
это оно
Вот мой конфиг:
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
Вот ситуация в layout.phtml:
<?= $this->doctype() ?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<?= $this->headMeta(); ?>
<?= $this->headTitle(); ?>
</head>
Выходы:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <title>Dashboard</title> </head>
Моя проблема в том, что все разрывы строк и белые линии удалены. Как я могу вернуть их?
Но вывод "echo $this->layout()->content" в порядке (разрывы строк и белая линия все еще там).
2 ответа
<?= $this->doctype() ?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<?= $this->headMeta(); ?>
<?= $this->headTitle(); ?>
</head>
Просто добавьте пустую строку после просмотра помощников.
setIndent(), setPostfix() и не слишком заботятся об отступах и новых строках, кажется, ответ (хотя это не нравится).
setIndetn () и setPostfix () несколько объяснены в их руководстве (помощники наследуют эти методы от класса PlaceHolder);
Пример использования (вызывающий не очень хороший html-source/-code):
php echo $ this->doctype ();?><Голова> PHP echo $ this-> headMeta () -> setIndent ('') -> setPostfix ("\ n"); echo $ this-> headTitle () -> setIndent ('') -> setPostfix ("\ n"); #...
для справки; среди других страниц, я прочитал (части):
- Мета-теги в одной строке
- http://zend-framework-community.634137.n4.nabble.com/head-do-not-append-a-final-EOL-td667141.html
- http://zend-framework-community.634137.n4.nabble.com/Meta-tags-rendering-and-indentation-issues-td3062357.html
- Установить отступ в представлении в Zend Framework
,