Laravel 5.2 - 向URL添加页面标题

时间:2016-07-20 16:37:13

标签: php routes laravel-5.2

我有一个基于Laravel 5.2的亚马逊项目。

我需要在仅使用ID预览的页面的URL中显示产品和类别的标题。

例如:

ID: 2
Name: Apple iPhone 6s

网址:www.mysite.com/showproduct/2

我需要这样:www.mysite.com/showproduct/2-Apple-IPhone-6s

2 个答案:

答案 0 :(得分:0)

试试这个:https://github.com/cviebrock/eloquent-sluggable

不要再制造车轮;)

答案 1 :(得分:0)

如果您查看Laravel 5.2文档,特别是 Route Parameters 部分,您会发现有一个红色框说:

  

注意:路由参数不能包含 - 字符。改为使用下划线(_)。

所以你的路线可能是:

Route::get('showproduct/{title}', 'Controller@action');

但是2-Apple-IPhone-6s应该是2_Apple_IPhone_6s,而不是Route::get('showproduct/{id}/{title?}', 'Controller@action'); ,如果您可以将其用作以下内容,那么IMO会更好:

<div class="<?php echo $container;?>">
    <div class="media-back-button">
        <script type = 'text/javascript'>
            var back_title = "<?php echo get_the_title(); ?>"; // current page/post title
            document.write('<a href="' + document.referrer + '">Back To Media - ' + back_title +'</a>'); 
        </script>
    </div>
</div>

希望这有帮助。