laravel 7中最近通过cookie查看的产品一次只保存1个产品



我已经尝试了我在这里找到的脚本[Laravel/PHP]如何制作"最近查看的帖子"小工具

它似乎起作用了,但只在饼干中保存了一个产品,而不是5个。

以下是我目前在productController中使用的代码

$num_to_store = 5;
$minutes_to_store = 1;
$current_page['id'] = $product_material->id;
$current_page['title'] = $material_category->title.' '.$product_material->title;
$current_page['url'] = $request->url();
$recent = Cookie::get('recently_viewed');
$recent = json_decode($recent, true);
if($recent){
foreach ($recent as $key => $val){
if($val['url'] == $current_page['url']){
unset($recent[$key]);
}
}
}
$recent[ time() ] = $current_page;
if(sizeof($recent) > $num_to_store){
$recent = array_slice($recent, sizeof($recent)-5, sizeof($recent), true);
}
Cookie::queue('recently_viewed_content', json_encode($recent), $minutes_to_store);
$recently_viewed_content = json_decode(Cookie::get('recently_viewed_content'), TRUE)

这是我在刀片文件中的代码:

@if($recently_viewed_content)
@php(krsort( $recently_viewed_content ))
@foreach($recently_viewed_content as $rvc)
{{ $rvc['title'] }}
{{ $rvc['url'] }}
@endforeach
@endif

不确定它出了什么问题。

我也尝试从这里实现类似的逻辑电子商务最近查看的产品

但这对我也不起作用。

任何帮助都会通知

解决了它。

这是Cookie::get('recently_viewed');中的一个简单的打字错误。应该是Cookie::get('recently_viewed_content');

最新更新