До этого мой английский не был моим родным языком, так что ... прошу прощения за все орфографии / опечатки и прочее.
Я работаю над этим сайтом, и он требует показа рекламного видео всем пользователям.(это должно быть модально).Вот условия:
Рекламное видео необходимо показывать на любой странице сайта.
Если пользователь увидел рекламное предложение, оно будет снова показано через неделю тому же пользователю.(если акция все еще активна).
Если промо-видео удалено другим промо-видео, оно должно показать новое промо-видео (например: если пользователь зашел на сайт и увидел акцию в первый день ив третий день рекламная акция была удалена, или срок ее действия истек, а другая рекламная акция - ее набор, ее необходимо отобразить тому же пользователю, если он снова посетит сайт до того, как пройдет неделя).
Я думал об использованиипеченье Laravel, но мне сказали, что их использование не является хорошей практикой.Если да, то почему?
Сейчас приложение использует js-cookie, и некоторые cookie-файлы устанавливаются с его помощью.Можно ли выполнить то, что я хочу, с помощью этого?
Это некоторые части моего кода
на моем ViewServiceProvider.php. У меня есть это
public function boot()
{
View::composer('layouts.partials.modals', PromotionalVideoComposer::class);
}
на PromotionalVideoComposer.php
public function compose(View $view)
{
$view->with('promotionalVideo', PromotionalVideo::active()->pluck('link')->first());
}
На partiasl.modals.blade.php
// some modals
<!-- Modal Promotional Video -->
@if (isset($promotionalVideo))
<div class="modal fade modal-player" id="promotional-video" role="dialog" tabindex="-1">
<div class="modal-dialog modal-dialog-centered modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close" dusk="close-promotional-video"><span aria-hidden="true">×</span></button>
<div class="modal-body player-container">
<iframe src="{{ $promotionalVideo }}" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
</div><!-- .modal-header -->
</div><!-- .modal-content -->
</div><!-- .modal-dialog modal-lg -->
</div><!-- .modal fade -->
@endif
и app.js
if (Cookie.get('promotionalVideoDisplayed') === undefined) {
$('#promotional-video').modal('show');
Cookie.set('promotionalVideoDisplayed', true, { expires: 7 });
}
// On close video modal stop/delete video iframe
$("#promotional-video").on('hidden.bs.modal', function () {
var $iframe = "#promotional-video iframe";
$($iframe).remove();
});