Страница 1 из 1

Количество объявлений в списке сравлений

СообщениеДобавлено: 28 мар 2016, 15:09
Aleksander
Добрый день!
Подскажите, пожалуйста, как вывести количество отмеченных объявлений списка сравнений?

Re: Количество объявлений в списке сравлений

СообщениеДобавлено: 28 мар 2016, 15:24
fisher
Можно обратиться к функций
ComparisonList::getCountListingsUser($id);
где $id - это идентификатор юзера.

Re: Количество объявлений в списке сравлений

СообщениеДобавлено: 28 мар 2016, 15:31
Aleksander
Допустим у меня есть
Код: Выделить всё
<div id="compare"></div> 

Я должен сначала в него вывести число, потом при изменении количества выбранных объектов изменять это число через в _common.php, к примеру добавив в ajax
Код: Выделить всё
$('#compare').text(число в переменной); 

А как сделать это всё я не допонял *PARDON*

Re: Количество объявлений в списке сравлений

СообщениеДобавлено: 29 мар 2016, 09:26
fisher
Укажите на скриншоте где вам надо вывести кол-во?

Re: Количество объявлений в списке сравлений

СообщениеДобавлено: 29 мар 2016, 10:42
Aleksander
Файл main.php, шаблон classic

Re: Количество объявлений в списке сравлений

СообщениеДобавлено: 29 мар 2016, 13:28
fisher
При 1 загрузке можете просто написать
Код: Выделить всё
echo ComparisonList::getCountListingsUser(Yii::app()->user->id); 

Если же вам надо через ajax получить данные, то это уже реализовывать надо.
Но если вам надо при клике на ссылку "добавить в сравнение" вести подсчет, то это уже обычным яваскриптом делается.

Re: Количество объявлений в списке сравлений

СообщениеДобавлено: 30 мар 2016, 03:42
Aleksander
Обычным ява скриптом не стоит, из-за ограничений кол-ва чекбоксов придется рисовать очередной велосипед.
Можно просто пару строк в success аяка добавить
Код: Выделить всё
$("#compare").html(parseInt($("#compare").html()) + 1);  

и
Код: Выделить всё
$("#compare").html(parseInt($("#compare").html()) - 1); 

А для незарегистрированных пользователей, как я понял
Код: Выделить всё
echo ComparisonList::getCountListingsGuest(Yii::app()->session->sessionId); 

А теперь еще задачка осталась как выполнять один php для зарегистрированных, а другой для незарегистрированных пользователей не подскажите?
так нормально?
Код: Выделить всё
if (Yii::app()->user->isGuest) {        
    echo ComparisonList
::getCountListingsGuest(Yii::app()->session->sessionId);
    }
    else {
    echo ComparisonList::getCountListingsUser(Yii::app()->user->id); 
      
} 

или так
Код: Выделить всё
if (param('useUserRegistration') && Yii::app()->user->isGuest) {        
    echo ComparisonList
::getCountListingsGuest(Yii::app()->session->sessionId);
    }
    else {
    echo ComparisonList::getCountListingsUser(Yii::app()->user->id); 
      
} 

подскажите в чем разница?

Re: Количество объявлений в списке сравлений

СообщениеДобавлено: 30 мар 2016, 10:38
fisher
Код: Выделить всё
param('useUserRegistration'

данные параметр активирует и деактивирует (в зависимости от значений) регистрацию. Оставьте первый вариант