Laravel:仅对Cookie展示模式一次

时间:2018-07-26 00:26:39

标签: php laravel cookies

我只想显示一个模态,这可能可以通过cookie来实现,但是我不知道该怎么做:

我想做的是在刀片模板中检查是否设置了cookie“ modal”,是否设置了我不显示模式,如果未设置,我显示了模式并将cookie设置为true?

这是我到目前为止提出的:

@if ($modal->isActive && Cookie::get('cookie_modal') !== null )
    <!--cookie is set, don't show modal-->
@elseif ($modal->isActive && Cookie::get('cookie_modal') == null )
    <!--show_modal and set cookie to true so that next time modal doesn't show up-->
    {{Cookie::make('cookie_modal', true, 60) }}
    <div id="modal" style="width:100%; height:500px; position:relative; background-color:red; margin:25px auto;"></div>
@endif 

1 个答案:

答案 0 :(得分:0)

您真正想要的是session()->flash('key', value)

所以最终会是:

@if ($modal->isActive && session()->has('key'))

如果需要更严格的比较,则可以比较闪烁的值:

&& session()->get('key') === $value

flash仅适用于下一个请求。后续请求或重新加载不会触发此操作(除非服务于该视图的控制器重新刷新会话数据)