添加到购物车按钮 Yii2
Add to cart button Yii2
我想制作一个按钮,当它被按下时将数据插入 table 名称 'cart'
这是我在 index
中的按钮
'cart' => function ($url, $model, $key) {
$modelId = $model->id;
return Html::button('<i class="fas fa-shopping-cart"></i>',
[
'class' => 'btn btn-xs btn-outline-success',
'style' => 'width:80px; margin-top: 5px',
'data-toggle' => 'tooltip',
'title' => Yii::t('app', 'Cart'),
'onClick' => 'addProduct('. "{$modelId}" . ');'
]);
},
这是我的职能
public function addProduct($id)
{
$product = Product::find()->where(['id' => $id])->one();
if (isset($product)) {
Yii::$app->db->createCommand()->insert("cart", [
"product_id" => $product->id,
"name" => $product->name,
"price" => $product->price,
"image" => $product->image,
])->execute();
Yii::$app->session->setFlash('success', 'Item added successfully');
}
}
我有这个错误
Uncaught ReferenceError: addProduct is not defined
at HTMLButtonElement.onclick
评论需要50声望,所以我发送回复。
如果public function addProduct
是一个PHP函数,
on click事件是javascript事件,也许你必须在页面中写一个js函数?
喜欢那里:
$this->registerJs(
"$('#myButton').on('click', function() { alert('Button clicked!'); });",
View::POS_READY,
'my-button-handler'
);
function() { alert('Button clicked!'); });
是js函数。(Registering inline scripts)
我想制作一个按钮,当它被按下时将数据插入 table 名称 'cart' 这是我在 index
中的按钮'cart' => function ($url, $model, $key) {
$modelId = $model->id;
return Html::button('<i class="fas fa-shopping-cart"></i>',
[
'class' => 'btn btn-xs btn-outline-success',
'style' => 'width:80px; margin-top: 5px',
'data-toggle' => 'tooltip',
'title' => Yii::t('app', 'Cart'),
'onClick' => 'addProduct('. "{$modelId}" . ');'
]);
},
这是我的职能
public function addProduct($id)
{
$product = Product::find()->where(['id' => $id])->one();
if (isset($product)) {
Yii::$app->db->createCommand()->insert("cart", [
"product_id" => $product->id,
"name" => $product->name,
"price" => $product->price,
"image" => $product->image,
])->execute();
Yii::$app->session->setFlash('success', 'Item added successfully');
}
}
我有这个错误
Uncaught ReferenceError: addProduct is not defined at HTMLButtonElement.onclick
评论需要50声望,所以我发送回复。
如果public function addProduct
是一个PHP函数,
on click事件是javascript事件,也许你必须在页面中写一个js函数?
喜欢那里:
$this->registerJs(
"$('#myButton').on('click', function() { alert('Button clicked!'); });",
View::POS_READY,
'my-button-handler'
);
function() { alert('Button clicked!'); });
是js函数。(Registering inline scripts)