Проблема: товары не обновляются, рендерится та же самая страница.
В Yii начала работать недавно, какими способами не пробовала, ничего не получается.
Буду очень благодарна, если кто то тыкнет носом или накидает полезные ссылки по данной проблеме.
view/collections.php
Код: Выделить всё
<select id="groupdec" onchange="getid()">
<option>Вид украшения</option>
<option value="1">Подвески</option>
<option value="2">Кольцо</option>
<option value="3">Браслет</option>
<option value="4">Серьги</option>
</select>
...
<div class="container" id="blok_with_product">
//здесь через foreach выводятся все продукты из бд
</div>
...
<script>
function getid(){
var group = $("#groupdec option:selected").val();
$.ajax({
type: "POST",
url: "/index.php?r=site/group",
data: {id:group},
success: function(data){
console.log(data);
$("#blok_with_product").append(data);
alert('Сработало!');
},
error: function(xhr, status, error) {
console.log(xhr);
console.log(status);
console.log(error);
alert('Ошибка');
}
});
}
</script>
Код: Выделить всё
public function actionGroup()
{
$model = new AjaxDataGet();
if(Yii::$app->request->isAjax){
Yii::$app->response->format = Response::FORMAT_JSON;
if($model->load(Yii::$app->request->post()) && $model->validate()){
$id = Yii::$app->request->post('id');
$ourproducts = new Products();
$pro = $ourproducts->getGroup($id);
return $data = ['success' => true,
'pro' => $pro,];
}
}
return $this->render('collections', ['prods'=>$pro], ['id'=>$id]);
}
Код: Выделить всё
class Products extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'products';
}
...
public function attributeLabels()
{
return [
'product_id' => 'Product ID',
'product_name' => 'Product Name',
'product_group' => 'Product Group',
'product_type' => 'Product Type',
'product_price' => 'Product Price',
'product_view_small' => 'Product View Small',
'product_view_large' => 'Product View Large',
];
}
...
public function getGroup($id)
{
$groupP = Products::find()->where(['product_group'=>$id])->asArray()->all();
return $groupP;
}