【问题标题】:How to localize laravel in routes如何在路线中本地化 laravel
【发布时间】:2021-06-24 06:57:18
【问题描述】:

当我点击博客页面上的阅读更多按钮时,我正在尝试查看多语言文章

博客页面视图(博客控制器和视图工作正常)

 @foreach($leg as $sost)
<div>
<a href="{{route('view-post', ['lang'=>app()->getLocale(), 'slug'=>$sost->slug])}}> {{ $sost->title }}
                            
</div>
    @endforeach

路线

Route::get('{lang}/article/{slug}', 
[App\Http\Controllers\frontend\personal\mycash\mycashcontroller::class, 'view'])->name('view-post');

MycashController

  use App\Models\mycash;
  public function view( $lang,$slug)
   {
   $post = mycash::where('slug', $slug)->firstOrFail();
    return view('frontend/Personal/articles',compact('post' , 'lang'));
   }

文章视图刀片

                <div>
                    <p class="text-left" style="color: rgb(0,0,0);">{!!$post->content !!}</p>
                </div>

我的结果

单击链接时,我收到 [URI: {lang}/article/{slug}] [缺少参数:slug] 的错误

我做错了什么?

【问题讨论】:

  • 您的href 缺少结束"。您的 &lt;a&gt; 缺少结束 &lt;/a&gt;。你确定$sost-&gt;slug 确实包含一些东西吗?您要转到的 URL 是什么?
  • 我的结束标签没问题,但仍然给我带来错误...我需要的网址是 localhost:8000/en/article/blog_1
  • 收到此错误缺少 [Route: view-mpost] [URI: {lang}/article/{slug}] [Missing parameter: slug] 的必需参数。

标签: laravel routes localization


【解决方案1】:
<?php foreach($leg as $sost): ?>

<div>
<a href="<?= route('view-post', ['lang'=>app()->getLocale(), 'slug'=>$sost->slug]);?>">
<?= $sost->title; ?>
</a>                  
</div>

<?php endforeach; ?>

【讨论】:

  • 收到此错误缺少 [Route: view-mpost] [URI: {lang}/article/{slug}] [Missing parameter: slug] 的必需参数。
  • = $sost->title; ?> 在此行之后,放置此行并检查您的 url 是否正确构建,您收到错误可能是因为 slug 未传递到 url = route('view-post', [ 'lang'=>app()->getLocale(), 'slug'=>$sost->slug]); ?>
猜你喜欢
  • 1970-01-01
  • 2020-09-28
  • 2021-01-09
  • 2019-06-24
  • 2011-03-11
  • 2017-01-08
  • 2020-11-14
  • 1970-01-01
  • 2023-03-31
相关资源
最近更新 更多