メニューに問題があることに気づきました。私はZendFrameworkを使用してphpアプリケーションに取り組んでいます。メニューに空のテキスト行が挿入されているようですが、その理由がわかりません。例えば ...
ご覧のとおり、手動で追加した要素とmenu.phtmlで生成された要素の間に空のスペースがあります。これが私のコードです...
まず、3つの異なるメニューがあるため、それらをブートストラップのZend_Registerに保存しましたが、匿名メニューのコードを示します。
protected function _initNavigation()
{
$this->bootstrap('layout');
$layout = $this->getResource('layout');
$view = $layout->getView();
//Init du menu anonyme
$config = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml', 'menuNotLogged');
$container = new Zend_Navigation($config);
Zend_Registry::set('main',$container);
$view->navigation($container);}
次に、レイアウトにメニューを表示します...
<div id="navigation">
<ul id="primary-links">
<li id="overview"><a href="#">Overview test</a></li>
<li><a href="#">Manual test</a></li>
<?php
$partial = array('menu.phtml', 'default');
$this->navigation()->menu()->setPartial($partial);
echo $this->navigation()->menu()->render(Zend_Registry::get('main'));
?>
</ul>
</div>
今私のmenu.phtml..。
foreach ($this->container as $page) {
if ($page->isVisible()) {
if ($page->isActive(true)) {
//... not active so it doesn't enter here
} else {
echo '<li>'.$this->navigation()->menu()->htmlify($page). '</li>' ;
}
}
}
Firebug(FF)とDeveloper Tools(IE8)でメニューをデバッグしようとしましたが、メニューにそのような空のテキストが表示されます(最初の画像はIE、2番目はFirefoxです)
空のアイテムがあり、どこから来たのかわかりません!アプリケーションのテンプレートを変更する必要があるので気づきました。古いメニューでも同じことをしましたが、表示されませんでした。今では実際に表示されています。
メニューをレンダリングするときは本当に問題があるようです。手動で要素を追加すれば問題はないからです。私のコードを見て、何がそれを引き起こす可能性があるかについて何か考えがありますか?誰かが同じ問題を抱えたことはありますか?私のコードの他の部分や他の詳細が必要ですか?
すでにありがとう!
アップデート
これは私のnavigation.xmlのmenuNotLoggedです
<menuNotLogged>
<home>
<label>Home</label>
<uri>/index</uri>
</home>
<login>
<label>Login</label>
<uri>/index/login</uri>
</login>
</menuNotLogged>
これが質問されたhtml出力です
<!-- NAVIGATION_BEGIN -->
<div id="ibm-navigation">
<ul id="ibm-primary-links">
<li id="ibm-overview"><a href="http://w3">Overview test</a></li>
<li><a href="http://w3">Manual test</a></li>
<li><a href="/index">Accueil</a></li><li><a href="/index/login">Authentification</a></li>
</ul></div>
空の行は、ZendStudioからのデバッグ出力ビューとFirebugにもあります。空のアイテムが追加されたのはおそらくこの行のせいですが、どこから来たのかわかりません。