Код формы с кнопкой:
Код: Выделить всё
<form class="in_collation" method="POST" id="form-compare-<?php echo $product->id;?>">
<input type="hidden" value="<?php echo Yii::app()->request->csrfToken; ?>" name="YII_CSRF_TOKEN">
<input type="hidden" value="<?php echo $product->id;?>" name="product_id">
<?php
//проверяю существует ли массив сравнения
if (!empty(Yii::app()->session['compare'])) {
//если существует, то ищу есть ли в нём данный товар и в зависимости от результата проверки вывожу добавить или //убрать из сравнения
if (in_array($product->id, Yii::app()->session['compare'])) {
echo CHtml::ajaxSubmitButton('Убрать из сравнения',$this->createUrl('shop/deleteofcompare'), array('type' => 'POST','update' => '#basket',),array('type' => 'submit','class'=>'compare-btn','form'=>'form-compare-'.$product->id
));} else {echo CHtml::ajaxSubmitButton('Добавить в сравнение',$this->createUrl('shop/addtocompare'), array(
'type' => 'POST','update' => '#basket',),array('type' => 'submit','class'=>'compare-btn','form'=>'form-compare-'.$product->id,));};} else {echo CHtml::ajaxSubmitButton('Добавить в сравнение',$this->createUrl('shop/addtocompare'), array('type' => 'POST','update' => '#basket',),array('type' => 'submit','class'=>'compare-btn','form'=>'form-compare-'.$product->id));};
?>
</form>
Код: Выделить всё
<div id="choice"><a href="<?php echo $this->createUrl('shop/compare');?>">Сравнить товары <span id="basket">(<?php echo isset(Yii::app()->session['compare'])? sizeof(Yii::app()->session['compare']) : '0';?>)</span></a></div>
Код: Выделить всё
public function actionAddToCompare(){
if(isset($_POST['product_id'])){
if (!empty(Yii::app()->session['compare'])) {
if (!in_array($_POST['product_id'], Yii::app()->session['compare'])) {
$compare = Yii::app()->session['compare'];
$compare[] = $_POST['product_id'];
Yii::app()->session['compare'] = $compare;
}} else {
$compare = Yii::app()->session['compare'];
$compare[] = $_POST['product_id'];
Yii::app()->session['compare'] = $compare;
}
}
if(Yii::app()->request->isAjaxRequest){
echo '('.sizeof(Yii::app()->session['compare']).')';
Yii::app()->end();
} else Yii::app()->request->redirect($_SERVER['HTTP_REFERER']);
}
Код: Выделить всё
public function actionDeleteOfCompare(){
if(isset($_POST['product_id'])){
Yii::app()->session['compare']=array_diff(Yii::app()->session['compare'], array($_POST['product_id']));
}
if(Yii::app()->request->isAjaxRequest){
echo '('.sizeof(Yii::app()->session['compare']).')';
Yii::app()->end();
} else Yii::app()->request->redirect($_SERVER['HTTP_REFERER']);
}