从mysql构建动态完整SEO菜单

时间:2018-06-09 01:12:25

标签: php mysql arrays for-loop while-loop

我正在为我的网站构建一个新菜单并将其移至SEO友好的URL结构,但是我遇到了在我的函数中构建href URL的问题。

我有一个名为tbl_pages的表,它包含以下列:page_idno,page_name,page_slug,page_parent。

上面的列和数据被传递回页面和数组,我在下面的函数中包含$datas

function treemenu($datas, $parent = 0, $depth=0, $slug=null){
    $ni=count($datas);
    if($ni === 0 || $depth > 1000) return ''; // Make sure not to have an endless recursion
    $tree = '<ul>';
    for($i=0; $i < $ni; $i++){
        if($datas[$i]['page_parent'] == $parent){
            $tree .= '<li>';
            $tree .= '<a href="' . $datas[$i]['page_slug'] . '">' . $datas[$i]['page_slug'] . '</a>';
            $tree .= $this->treemenu($datas, $datas[$i]['page_idno'], $depth+1);
            $tree .= '</li>';
        }
    }
    $tree .= '</ul>';
    return $tree;
}

然后用数据库中的slug输出以下内容。

  • 与美
  • 东西菜单
    • 的东西,更多的菜单
    • 另一个菜单
  • 产品
    • 一些副产物

我想要实现的目标是拥有其父母的完整插图,例如联系我们http://example.com/contact-us但是另一个菜单会显示为http://example.com/something-menu/another-menu

这是可能的还是我还能怎么做呢?

0 个答案:

没有答案