ZF2 导航命令
ZF2 Navigation Order
我有以下问题,我用 zend 框架 2 的原始文档中的数据对其进行了测试。我不知道我是否遗漏了什么,或者它是否只是缺少功能。
在下面的示例中,我创建了一个具有两个级别的导航,然后使用 echo 打印导航标签。如您所见,我为一级页面和两个二级页面设置了顺序。如果您查看我的输出,您会发现只有第一级页面的顺序是正确的。二级页面顺序不对。
对于您在大于一级的导航中放置的每一级,顺序都不会改变。
你们中有人有同样的问题或者可以告诉我我做错了什么吗?或者这是 zend-navigation
模块未提供的功能?
谢谢
脚本
$container = new \Zend\Navigation\Navigation(
array(
array(
'label' => 'ACL page 1 (guest)',
'uri' => '#acl-guest',
'resource' => 'nav-guest',
'order' => 777,
'pages' => array(
array(
'label' => 'ACL page 1.1 (foo)',
'uri' => '#acl-foo',
'resource' => 'nav-foo',
'order' => 666
),
array(
'label' => 'ACL page 1.2 (bar)',
'uri' => '#acl-bar',
'resource' => 'nav-bar',
),
array(
'label' => 'ACL page 1.3 (baz)',
'uri' => '#acl-baz',
'resource' => 'nav-baz',
),
array(
'label' => 'ACL page 1.4 (bat)',
'uri' => '#acl-bat',
'resource' => 'nav-bat',
'order' => 111
),
),
),
array(
'label' => 'ACL page 2 (member)',
'uri' => '#acl-member',
'resource' => 'nav-member',
'order' => 555
)
)
);
foreach ($container as $page) {
echo $page->label."<br>";
if ($page->hasPages()) {
foreach ($page->getPages() as $page2) {
echo $page2->label."<br>";
}
}
}
die("ASD");
输出
ACL page 2 (member)
ACL page 1 (guest)
ACL page 1.1 (foo)
ACL page 1.2 (bar)
ACL page 1.3 (baz)
ACL page 1.4 (bat)
ASD
方法$page->getPages()
return数组(docs)。仅当列表是导航对象时,元素才会排序。
尝试:
foreach ($container as $page) {
echo $page->label."<br>";
if ($page->hasPages()) {
$subpages = new \Zend\Navigation\Navigation($page->getPages());
foreach ($subpages as $page2) {
echo $page2->label."<br>";
}
}
}
我有以下问题,我用 zend 框架 2 的原始文档中的数据对其进行了测试。我不知道我是否遗漏了什么,或者它是否只是缺少功能。
在下面的示例中,我创建了一个具有两个级别的导航,然后使用 echo 打印导航标签。如您所见,我为一级页面和两个二级页面设置了顺序。如果您查看我的输出,您会发现只有第一级页面的顺序是正确的。二级页面顺序不对。
对于您在大于一级的导航中放置的每一级,顺序都不会改变。
你们中有人有同样的问题或者可以告诉我我做错了什么吗?或者这是 zend-navigation
模块未提供的功能?
谢谢
脚本
$container = new \Zend\Navigation\Navigation(
array(
array(
'label' => 'ACL page 1 (guest)',
'uri' => '#acl-guest',
'resource' => 'nav-guest',
'order' => 777,
'pages' => array(
array(
'label' => 'ACL page 1.1 (foo)',
'uri' => '#acl-foo',
'resource' => 'nav-foo',
'order' => 666
),
array(
'label' => 'ACL page 1.2 (bar)',
'uri' => '#acl-bar',
'resource' => 'nav-bar',
),
array(
'label' => 'ACL page 1.3 (baz)',
'uri' => '#acl-baz',
'resource' => 'nav-baz',
),
array(
'label' => 'ACL page 1.4 (bat)',
'uri' => '#acl-bat',
'resource' => 'nav-bat',
'order' => 111
),
),
),
array(
'label' => 'ACL page 2 (member)',
'uri' => '#acl-member',
'resource' => 'nav-member',
'order' => 555
)
)
);
foreach ($container as $page) {
echo $page->label."<br>";
if ($page->hasPages()) {
foreach ($page->getPages() as $page2) {
echo $page2->label."<br>";
}
}
}
die("ASD");
输出
ACL page 2 (member)
ACL page 1 (guest)
ACL page 1.1 (foo)
ACL page 1.2 (bar)
ACL page 1.3 (baz)
ACL page 1.4 (bat)
ASD
方法$page->getPages()
return数组(docs)。仅当列表是导航对象时,元素才会排序。
尝试:
foreach ($container as $page) {
echo $page->label."<br>";
if ($page->hasPages()) {
$subpages = new \Zend\Navigation\Navigation($page->getPages());
foreach ($subpages as $page2) {
echo $page2->label."<br>";
}
}
}