Mise en place de la fonctionnalité "Favoris". L'utilisateur peut ajouter/supprimer un producteur de ses favoris via un lien présent sur la page des producteurs.prodstable
$user_producer->save(); | $user_producer->save(); | ||||
} | } | ||||
} | } | ||||
return $user_producer ; | |||||
} | } | ||||
} | } |
<?php | <?php | ||||
$producers = Etablissement::find() | $producers = Etablissement::find() | ||||
->joinWith(['userEtablissement user_etablissement']) | ->joinWith(['userEtablissement user_etablissement']) | ||||
->where(['user_etablissement.id_user' => Yii::$app->user->id, 'etablissement.actif' => 1]) | |||||
->where([ | |||||
'user_etablissement.id_user' => Yii::$app->user->id, | |||||
'user_etablissement.favoris' => 1, | |||||
'etablissement.actif' => 1 | |||||
]) | |||||
->all() ; | ->all() ; | ||||
?> | ?> | ||||
<?php if(count($producers)): ?> | <?php if(count($producers)): ?> |
*/ | */ | ||||
public function actionContact() { | public function actionContact() { | ||||
$model = new ContactForm(); | $model = new ContactForm(); | ||||
$producer = $this->getProducer() ; | $producer = $this->getProducer() ; | ||||
]); | ]); | ||||
} | } | ||||
} | } | ||||
/** | |||||
* Ajoute ou supprime un producteur des favoris de l'utilisateur. | |||||
* Redirige vers la page d'accueil du producteur. | |||||
* | |||||
* @param $action 'add' ou 'delete' | |||||
*/ | |||||
public function actionFavorite($action) { | |||||
$producer = $this->getProducer() ; | |||||
$user_etablissement = UserEtablissement::find() | |||||
->where([ | |||||
'id_user' => Yii::$app->user->id, | |||||
'id_etablissement' => $producer->id | |||||
]) | |||||
->one() ; | |||||
if(!$user_etablissement) { | |||||
$user_etablissement = Etablissement::addUser(Yii::$app->user->id, $producer->id) ; | |||||
} | |||||
if($user_etablissement) { | |||||
if($action == 'add') { | |||||
$user_etablissement->favoris = 1 ; | |||||
Yii::$app->session->setFlash('success','Le producteur <strong>'.Html::encode($producer->nom).'</strong> vient d\'être ajouté à vos favoris.') ; | |||||
} | |||||
else { | |||||
$user_etablissement->favoris = 0 ; | |||||
Yii::$app->session->setFlash('success','Le producteur <strong>'.Html::encode($producer->nom).'</strong> vient d\'être supprimé de vos favoris.') ; | |||||
} | |||||
$user_etablissement->save() ; | |||||
} | |||||
$this->redirect(['site/index']) ; | |||||
} | |||||
} | } | ||||
?> | ?> |
<span class="glyphicon glyphicon-time"></span> Commande avant | <span class="glyphicon glyphicon-time"></span> Commande avant | ||||
<strong><?php echo Html::encode($producer->heure_limite_commande) ?> h</strong></span>, | <strong><?php echo Html::encode($producer->heure_limite_commande) ?> h</strong></span>, | ||||
<span data-toggle="tooltip" data-placement="bottom" title="Exemple : commande le lundi pour le <?php if($producer->delai_commande == 1): ?>mardi<?php elseif($producer->delai_commande == 2): ?>mercredi<?php elseif($producer->delai_commande == 3): ?>jeudi<?php elseif($producer->delai_commande == 4): ?>vendredi<?php elseif($producer->delai_commande == 5): ?>samedi<?php elseif($producer->delai_commande == 6): ?>dimanche<?php elseif($producer->delai_commande == 7): ?>lundi d'après<?php endif; ?>"><strong><?= Html::encode($producer->delai_commande) ?> jour<?php if($producer->delai_commande > 1): ?>s<?php endif; ?></strong> à l'avance</span> | <span data-toggle="tooltip" data-placement="bottom" title="Exemple : commande le lundi pour le <?php if($producer->delai_commande == 1): ?>mardi<?php elseif($producer->delai_commande == 2): ?>mercredi<?php elseif($producer->delai_commande == 3): ?>jeudi<?php elseif($producer->delai_commande == 4): ?>vendredi<?php elseif($producer->delai_commande == 5): ?>samedi<?php elseif($producer->delai_commande == 6): ?>dimanche<?php elseif($producer->delai_commande == 7): ?>lundi d'après<?php endif; ?>"><strong><?= Html::encode($producer->delai_commande) ?> jour<?php if($producer->delai_commande > 1): ?>s<?php endif; ?></strong> à l'avance</span> | ||||
<?php if(!Yii::$app->user->isGuest): ?><span class="favorite"><span class="glyphicon glyphicon-star"></span> <a href="<?= Yii::$app->urlManagerProducer->createUrl(['producer/favorite']); ?>" data-toggle="tooltip" data-placement="bottom" title="Ajouter à mes favoris">Favoris</a></span><?php endif; ?> | |||||
<?php if(!Yii::$app->user->isGuest): ?> | |||||
<span class="favorite"> | |||||
<?php if($user_etablissement && $user_etablissement->favoris): ?> | |||||
<span class="glyphicon glyphicon-star"></span> <a href="<?= Yii::$app->urlManagerProducer->createUrl(['site/favorite','action' => 'delete']); ?>" data-toggle="tooltip" data-placement="bottom" title="Supprimer de mes favoris">Favoris</a> | |||||
<?php else: ?> | |||||
<span class="glyphicon glyphicon glyphicon-star-empty"></span> <a href="<?= Yii::$app->urlManagerProducer->createUrl(['site/favorite','action' => 'add']); ?>" data-toggle="tooltip" data-placement="bottom" title="Ajouter à mes favoris">Favoris</a> | |||||
<?php endif; ?> | |||||
</span> | |||||
<?php endif; ?> | |||||
<div class="clr"></div> | <div class="clr"></div> | ||||
</div> | </div> | ||||
</div> | </div> |