seo url没有在laravel中显示

时间:2014-10-03 07:28:55

标签: laravel laravel-4 seo

我正忙着创建一个使用seo网址的网站。我有一个包含seo数据的表,它引用了我的菜单表。

这是我的助手功能

function getSeo($menu_id)
{
$seo = DB::table('seo')->where('menu_id', '=', $menu_id)->get();

if(empty($seo)){
    return 'page/'. $menu_id;


}

if(!empty($seo[0]->url)){

    return 'page/'. $menu_id;

}

return $seo[0]->url;
} 

我的master.blade.php

@foreach($menus as $menu)

    <li>
        {{ HTML::link(getSeo($menu->id), $menu->title) }}
    </li>
@endforeach

如果我删除

  return 'page/'. $menu_id;

if(!empty($seo[0]->url)){

    return 'page/'. $menu_id;
}

然后它会显示在底部,如果您将鼠标悬停在链接上,您可以看到该网址,但是如果您点击链接时会出现路由错误。

但如果我这样做:

if(!empty($seo[0]->url)){
    $menu_id = $seo[0]->url;
    return 'page/'. $menu_id;
}

然后它可以正常工作,但是当我点击链接时,我的内容并没有显示出来。

如果您需要任何信息,请告诉我

1 个答案:

答案 0 :(得分:0)

我认为问题可能出在你的第二个if语句中。

if(!empty($seo[0]->url)){
    return 'page/'. $menu_id;
}

您基本上是在说#34;如果网址为空,请返回page / menu_id&#34;。

下一行只有在$seo[0]->url为空时才会返回。

你的if语句应该是:

if(empty($seo[0]->url)){
    return 'page/'. $menu_id;
}