https://join.slack.com/t/yii/shared_invite/MjIxMjMxMTk5MTU1LTE1MDE3MDAwMzMtM2VkMTMyMjY1Ng
$user = User::model()->with('code')->findByAttributes(array(
'email' => $email
));
$_user = User::model()->with('code')->find(array(
'condition' => 'code_id IS NULL AND is_received=1',
));
$_code = Code::model()->findByPk($user->code->code_id);
$_code->user_id = $_user->user_id;
$code = Code::model()->findByAttributes(array(
'user_id' => null,
'date' => null,
'type' => (int) $user->code->type,
));
if ($code)
{
$code->user_id = $user->user_id;
$code->date = new CDbExpression('NOW()');
if ($_code->save() && $code->save())
Добрый день, нужна помощь юному программисту.
Делаю листинг товаров с возможностью ajax подгрузкой постов и ajax фильтром
При клике на фильтр нужно обновить активную страницу на первую.
Скрипт на клик по элементу фильтра:
$('#filter').change(function(){
var arrCollection = [];
$('#filter .collection label').each(function(){
if ( $(this).find('input.checkbox').prop("checked") ) {
var checked = $(this).find('input.checkbox').attr('name');
arrCollection.push(checked);
}
})
var data = {
'arrCollection' : arrCollection,
}
$.fn.yiiListView.update('catalogue_listing', {
data: data,
});
})
Скрипт на подгрузку постов:
jQuery(document).ready(function($){
$('.pager').hide();
var page = parseInt('<?php echo (int)Yii::app()->request->getParam('page', 1); ?>');
var pageCount = parseInt('<?php echo (int)$dataProvider->pagination->pageCount; ?>');
var loadingFlag = false;
$('#showMore').click(function(){
if (!loadingFlag){
loadingFlag = true;
$('.loading_box').show();
$.ajax({
type: 'POST',
url: window.location.href,
data: {
'page': page + 1,
'<?php echo Yii::app()->request->csrfTokenName; ?>': '<?php echo Yii::app()->request->csrfToken; ?>'
},
success: function(data){
page++;
loadingFlag = false;
$('.loading_box').hide();
$('#listView').append(data);
if (page >= pageCount)
$('#showMore').hide();
}
});
}
return false;
})
});
Принимаю вот таким способом:
$this->breadcrumbs[] = "Виды мебели";
$this->pageTitle = "Виды мебели" . " - " . Yii::app()->vars->get("Название сайта");
//$this->processPageRequest('page');
$furniture = new Furniture('search');
$furniture->unsetAttributes();
$criteria = new CDbCriteria;
$criteria->having = 't.price!=0';
if ($_GET) {
$collection = $_GET['arrCollection'];
if ( is_array( $collection ) ) {
$criteria->compare("t.collection_id", $collection, false, 'OR');
}
$this->processPageRequest('page');
$dataProvider = new CActiveDataProvider($furniture, array(
'criteria'=>$criteria,
'pagination'=>array(
'pageSize'=>6,
'pageVar' => 'page',
),
));
} else {
$this->processPageRequest('page');
$dataProvider = new CActiveDataProvider($furniture, array(
'criteria'=>$criteria,
'pagination'=>array(
'pageSize'=>6,
'pageVar' => 'page',
),
));
}
if (Yii::app()->request->isAjaxRequest){
$this->renderPartial('_loopAjax', array(
'dataProvider'=>$dataProvider,
));
Yii::app()->end();
} else {
$this->render('type_listing', array(
'dataProvider'=>$dataProvider,
));
}
}
$result = [];
foreach ($organizations as $organization)
{
$result[] = $organization;
}
return $result;
}
(
[id] => 600
[full_name] => Название
[actual_address_id] => 4514
[actualAddress] => Array
(
[id] => 4514
[address] => Адрес
[geolon] => 37.7854985
[geolat] => 55.8165822
[dadata] => {"id":65,"item":24}
[comment] => Комент
[beltway_distance] =>
[beltway_hit] =>
)
)