在 PHP 动态嵌套导航方面需要一些帮助
Need some help in PHP dynamic nested navigation
我在 PHP 中完成了简单的动态导航,例如从数组中拉出 HOME、ABOUT、FAQ、CONTACT 然后显示它。现在我只需要知道如果将鼠标悬停在 FAQs 上还有 4 个选项可以显示,我可以编写什么代码以及如何编写代码。我需要一些 php 编码方面的帮助,而不是 CSS。
目前我有这种情况
<?php
$pages = array(
'index.php' => 'Home',
'cupping.php' => 'Cupping',
'success.php' => 'Success Stories',
'healing.php' => 'Healing',
'eating-right.php' => 'Eeating Right',
'blog.php' => 'Blog',
'faq.php' => 'FAQs',
'contact.php' => 'Contact Us',
) ;
<ul class="nav navbar-nav">
<?php foreach ($pages as $filename => $pageTitle) {
if ($filename == $currentPage) { ?>
<li class="current"><?php echo $pageTitle ; ?></li>
<?php } else { ?>
<li><a href="<?php echo $filename ; ?>"><?php echo $pageTitle ; ?></a></li>
<?php
} //if
} //foreach
?>
</ul>
现在我如何打印也有一些嵌套导航的 HEALING,这样 php 编码后的 HTML 看起来像这样
<ul>
<li><ahref="index.php">Home</a></li>
<li><a href="cupping.php">Cupping</a></li>
<li><a href="success-stories.php">Success Stories</a></li>
<li><a href="healing.php">Healing Through</a></li>
<ul class="submenu">
<li><a href="herbs.php">Herbs</a></li>
<li><a href="nature.php">Nature</a></li>
<li><a href="behaviour.php">Behaviour</a></li>
</ul>
<li><a href="blog.php">Blog</a></li>
<li><a href="faqs.php">FAQs</a></li>
<li><a href="contact.php">Contact Us</a></li>
</ul>
我是 php 的新手,需要一些帮助。谢谢:)
尝试将值切换为索引。请往下看。
<?php
$pages = array(
'home' => array('url' => 'index.php', 'caption' => 'Home'),
'faq' => array('url' => 'faq.php', 'caption' => 'FAQs', 'submenu' =>
array(
'submenu1' => array('url' => 'Submenu1.php', 'caption' => 'Submenu1'),
'submenu2' => array('url' => 'Submenu2.php', 'caption' => 'Submenu2')
)
),
'contact' => array('url' => 'contact.php', 'caption' => 'Contact Us'),
);
?>
<ul class="nav navbar-nav">
<?php foreach ($pages as $parent_menu) { ?>
<li class="<?= ($parent_menu['url'] == $currentPage ? 'current' : '') ?>">
<a href="<?= $parent_menu['url'] ?>"><?= $parent_menu['caption'] ?></a>
<?php if (isset($parent_menu['submenu'])) { ?>
<ul class="">
<?php foreach ($parent_menu['submenu'] as $child) { ?>
<li><a href="<?= $child['url'] ?>"><?= $child['caption'] ?></a></li>
<?php } ?>
</ul>
<?php } ?>
</li>
<?php } ?>
</ul>
<?php
$pages = array(
'index.php' => 'Home',
'cupping.php' => 'Cupping',
'success.php' => 'Success Stories',
'healing.php' => 'Healing',
'eating-right.php' => 'Eeating Right',
'blog.php' => 'Blog',
'faq.php' => array('FAQs'=>array('submenu1.php'=>'submenu1','submenu2.php'=>'submenu2')) ,
'contact.php' => 'Contact Us',
) ;
?>
<ul class="nav navbar-nav">
<?php foreach ($pages as $filename => $pageTitle) {
if ($filename == $currentPage) {
if(is_array($pageTitle)){
foreach ($pageTitle as $menu => $value) {
echo '<li class="current">'.$menu.'</li>';
}
}else{
echo '<li class="current">'.$pageTitle.'</li>' ;
}
?>
<?php } else {
if(is_array($pageTitle)){
foreach ($pageTitle as $menu => $value) {
echo '<li><a href="#">'.$menu.'</a></li>';
echo '<ul>';
foreach ($value as $key => $submenu) {
echo '<li><a href="'.$key.'">'.$submenu.'</a></li>';
}
echo '</ul>';
}
}else{
?>
<li><a href="<?php echo $filename ; ?>"><?php echo $pageTitle ; ?></a></li>
<?php
}
} //if
} //foreach
?>
</ul>
试试这个代码,它可以帮助您为任何主菜单创建多个子菜单。
正如 Disha V. 所展示的,多维、关联数组就是你想要的。然后嵌套的 foreach 循环允许您访问不同的键。您可以在这里阅读更多相关信息:https://www.safaribooksonline.com/library/view/learning-php-5/0596005601/ch04s05.html
我在 PHP 中完成了简单的动态导航,例如从数组中拉出 HOME、ABOUT、FAQ、CONTACT 然后显示它。现在我只需要知道如果将鼠标悬停在 FAQs 上还有 4 个选项可以显示,我可以编写什么代码以及如何编写代码。我需要一些 php 编码方面的帮助,而不是 CSS。 目前我有这种情况
<?php
$pages = array(
'index.php' => 'Home',
'cupping.php' => 'Cupping',
'success.php' => 'Success Stories',
'healing.php' => 'Healing',
'eating-right.php' => 'Eeating Right',
'blog.php' => 'Blog',
'faq.php' => 'FAQs',
'contact.php' => 'Contact Us',
) ;
<ul class="nav navbar-nav">
<?php foreach ($pages as $filename => $pageTitle) {
if ($filename == $currentPage) { ?>
<li class="current"><?php echo $pageTitle ; ?></li>
<?php } else { ?>
<li><a href="<?php echo $filename ; ?>"><?php echo $pageTitle ; ?></a></li>
<?php
} //if
} //foreach
?>
</ul>
现在我如何打印也有一些嵌套导航的 HEALING,这样 php 编码后的 HTML 看起来像这样
<ul>
<li><ahref="index.php">Home</a></li>
<li><a href="cupping.php">Cupping</a></li>
<li><a href="success-stories.php">Success Stories</a></li>
<li><a href="healing.php">Healing Through</a></li>
<ul class="submenu">
<li><a href="herbs.php">Herbs</a></li>
<li><a href="nature.php">Nature</a></li>
<li><a href="behaviour.php">Behaviour</a></li>
</ul>
<li><a href="blog.php">Blog</a></li>
<li><a href="faqs.php">FAQs</a></li>
<li><a href="contact.php">Contact Us</a></li>
</ul>
我是 php 的新手,需要一些帮助。谢谢:)
尝试将值切换为索引。请往下看。
<?php
$pages = array(
'home' => array('url' => 'index.php', 'caption' => 'Home'),
'faq' => array('url' => 'faq.php', 'caption' => 'FAQs', 'submenu' =>
array(
'submenu1' => array('url' => 'Submenu1.php', 'caption' => 'Submenu1'),
'submenu2' => array('url' => 'Submenu2.php', 'caption' => 'Submenu2')
)
),
'contact' => array('url' => 'contact.php', 'caption' => 'Contact Us'),
);
?>
<ul class="nav navbar-nav">
<?php foreach ($pages as $parent_menu) { ?>
<li class="<?= ($parent_menu['url'] == $currentPage ? 'current' : '') ?>">
<a href="<?= $parent_menu['url'] ?>"><?= $parent_menu['caption'] ?></a>
<?php if (isset($parent_menu['submenu'])) { ?>
<ul class="">
<?php foreach ($parent_menu['submenu'] as $child) { ?>
<li><a href="<?= $child['url'] ?>"><?= $child['caption'] ?></a></li>
<?php } ?>
</ul>
<?php } ?>
</li>
<?php } ?>
</ul>
<?php
$pages = array(
'index.php' => 'Home',
'cupping.php' => 'Cupping',
'success.php' => 'Success Stories',
'healing.php' => 'Healing',
'eating-right.php' => 'Eeating Right',
'blog.php' => 'Blog',
'faq.php' => array('FAQs'=>array('submenu1.php'=>'submenu1','submenu2.php'=>'submenu2')) ,
'contact.php' => 'Contact Us',
) ;
?>
<ul class="nav navbar-nav">
<?php foreach ($pages as $filename => $pageTitle) {
if ($filename == $currentPage) {
if(is_array($pageTitle)){
foreach ($pageTitle as $menu => $value) {
echo '<li class="current">'.$menu.'</li>';
}
}else{
echo '<li class="current">'.$pageTitle.'</li>' ;
}
?>
<?php } else {
if(is_array($pageTitle)){
foreach ($pageTitle as $menu => $value) {
echo '<li><a href="#">'.$menu.'</a></li>';
echo '<ul>';
foreach ($value as $key => $submenu) {
echo '<li><a href="'.$key.'">'.$submenu.'</a></li>';
}
echo '</ul>';
}
}else{
?>
<li><a href="<?php echo $filename ; ?>"><?php echo $pageTitle ; ?></a></li>
<?php
}
} //if
} //foreach
?>
</ul>
试试这个代码,它可以帮助您为任何主菜单创建多个子菜单。
正如 Disha V. 所展示的,多维、关联数组就是你想要的。然后嵌套的 foreach 循环允许您访问不同的键。您可以在这里阅读更多相关信息:https://www.safaribooksonline.com/library/view/learning-php-5/0596005601/ch04s05.html