headタグが空になり、headに属するすべてのタグがコンテンツの前に本文にレンダリングされるCakePhp 2.0では、私は奇妙なエラーが発生します。CakePhpの本体にヘッドタグが表示されます
この彼のレイアウトdefault.ctpにはどのように見えるか:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php echo $this->Html->charset(); ?>
<title>
<?php echo $title_for_layout; ?>
</title>
<?php
echo $this->Html->meta('icon');
echo $this->Html->script(array('librerias/jquery.tools.min'));
echo $this->Html->css('cake.generic');
echo $this->Html->css('webfront');
echo $scripts_for_layout;
?>
</head>
<body>
<div id="container">
<div id="header">
</div>
(the rest of the html render)
</body>
</html>
そして、放火犯が言うように、これは、それがレンダリングされています方法です:
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>

<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title> Usuarios </title> **(IE moves the title tag on the head manually, it seems)**
**(IE displays the DOCTYPE on its debugging console here)**
<link rel="icon" type="image/x-icon" href="/web/favicon.ico">
<link rel="shortcut icon" type="image/x-icon" href="/web/favicon.ico">
<script src="/web/js/librerias/jquery.tools.min.js" type="text/javascript">
<link href="/web/css/cake.generic.css" type="text/css" rel="stylesheet">
<link href="/web/css/webfront.css" type="text/css" rel="stylesheet">
<div id="container">
<div id="header"> </div>
(the rest of the html render)
</body>
</html>
それはDOCTYPEタグとなりますを歪めるので、それは十分に悪いですがIEはページを非常にバグにします。
また、このエラーが発生しない別のテストサイトがあります。実際には私はレイアウトを切り替え、エラーは同じでした。
これがなぜ起こるのか誰かが知っていますか?私はウェブ上で何か類似したものを見つけることができず、私はこれについて何の手がかりも持っていません。どんな助けもありがとう。
ありがとうございます。
おそらく間違ったファイルを見て/編集している(または保存していない)。あなたのためにDOCTYPEを自動作成するべきではありません。私はちょうどテストしました - レイアウトファイルからDOCTYPEを削除すると、レンダリングされたページからも消えてしまいました。 – Dave
これは、デバッグ情報が先頭に付加されるか、またはタグとHTMLを分割するPHPコードのどこかでエラーが発生した場合に発生します。 – jeremyharris
@Dave、レイアウトに加えたすべての変更がレンダリングに反映されたので、私は正しいファイルを編集していました。 – Eagle