Мене часто при створенні інтернет магазину замовники запитають, як додати кількість в категорію opencart, щоб можна було відразу зі списку товарів в категорії додати потрібну кількість в кошик.
Інтернет магазини є різні, і не завжди обов'язково клієнту потрібно заходити в саму картку, тому кількість в категорії opencart є дуже зручним для покупця і він відразу ж може купити кілька товарів з категорії з потрібною йому кількістю.
Звичайно це буде актуальним за умови що у товару немає опцій які потрібно вибирати. Якщо в товарі є опції то клієнт в будь-якому випадку буде змушений зайти в картку товару і вже звідти робити покупку, ну або ж ви можете вивести опції в категорію теж.
Загалом сьогодні я хочу зробити замітку не про опції а саме про можливість додавати потрібну кількість в кошик одразу ж із категорії товару. Складного тут нічого немає, все що потрібно зробити так це внести невеликі зміни в контролер категорії opencart а також в сам шаблон, ну і звичайно ж прикрасити все це стилями.
І так наша задача полягає в тому щоб перед кнопкою купити в категорії opencart додати поле введення кількості товару, ну і ще ми зробимо кнопки плюс мінус для цього поля, щоб клієнту було зручніше. Як все це буде виглядати можете глянути на зображенні нижче:
Даний метод буде працювати на будь-якій версії opencart за винятком якихось моментів. І так, приступимо до виконання самого завдання і редагуємо в першу чергу файл контролера категорії catalog/controller/product/category.php
Знаходимо в ньому:
1
|
'product_id' => $result['product_id'],
|
Нижче під цим рядком нам потрібно додати:
1
|
'minimum' => $result['minimum'],
|
Це все, файл контролера можна закривати, і переходити безпосередньо до файлу шаблону активної теми catalog/view/theme/default/template/product/category.tpl
Нам потрібно змінити саму кнопку покупки і додати перед нею форму кількості, знаходимо код виведення самої кнопки:
1
|
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
|
І змінюємо її на:
1
|
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>',document.getElementById('quantity_<?php echo $product['product_id']; ?>').value);" class="button" />
|
Перед више зміненною кнопкою, нам потрібно додати поле введення кількості з кнопками плюс і мінус, тобто додаємо:
1
2
3
4
5
6
|
<div class="cart-quantity">
<i onclick="$(this).next().val($(this).next().val()-1);$(this).parents('form').submit();" class="fa fa-minus"></i>
<input type="text" name="quantity" size="2" value="<?php echo $product['minimum']; ?>" id="quantity_<?php echo $product['product_id']; ?>"/>
<i onclick="$(this).prev().val(~~$(this).prev().val()+1);$(this).parents('form').submit();" class="fa fa-plus"></i>
<input type="hidden" name="product_id" size="2" value="<?php echo $product['product_id']; ?>" />
</div>
|
Ось власне і все, тепер в категорії товару буде можливість вибору кількості товару. Тепер ви можете прикрасити трохи стилями, наприклад додавши в файл стилів свого шаблону такий стиль:
1
2
3
4
5
6
7
8
9
10
11
|
.cart-quantity {
margin-bottom: 5px;
}
.cart-quantity i {
background: #ccc;
height: 22px;
line-height: 22px;
width: 22px;
text-align: center;
cursor: pointer;
}
|
За таким же методом ви можете додати поля кількості і в будь-який модуль opencart, або ж на сторінки пошуку, виробника, і.т.д ...
Загалом пробуйте, якщо щось не виходить або у вас є краще рішення коментуйте.
Немає коментарів
Ви можете залишити коментар першим.