Update README_uk-UA.md

This commit is contained in:
LucyIkonnikova-Skutsenia
2019-10-19 00:43:18 +03:00
parent 77e7acd50a
commit 473de6429d

View File

@@ -7,7 +7,7 @@
[![Latest Unstable Version](https://poser.pugx.org/bumbummen99/shoppingcart/v/unstable)](https://packagist.org/packages/bumbummen99/shoppingcart)
[![License](https://poser.pugx.org/bumbummen99/shoppingcart/license)](https://packagist.org/packages/bumbummen99/shoppingcart)
Цей репозиторій є відгалуженням [Crisane's LaravelShoppingcart](https://github.com/Crinsane/LaravelShoppingcart) з додатковими незначними фічамиб сумісними з Laravel 6.
Цей репозиторій є відгалуженням [Crisane's LaravelShoppingcart](https://github.com/Crinsane/LaravelShoppingcart) та містить додаткові незначні доповнення, сумісні з Laravel 6.
## Встановлення
@@ -19,7 +19,7 @@
Тепер ви готові розпочати користуватися кошиком у вашому застосунку.
**Починаючи з версії 2 даного пакету з'явилася можливість впровадження залежності для впровадження екземплера класу Кошик (Cart) до вашого контролера або іншого класу**
**Починаючи з версії 2 даного пакету з'явилася можливість впровадження залежності для впровадження екземпляра класу Кошик (Cart) до вашого контролера або іншого класу**
## Огляд
Щоб детальніше ознайомитися LaravelShoppingcart, можете пройти за посиланнями
@@ -39,15 +39,15 @@
### Cart::add()
Додавати покупки у кошик дуже зручно - достатньо лише скористатися методом `add()`, який приймає різноманітні параметри.
Додавати покупки у кошик дуже зручно - достатньо скористатися методом `add()`, який приймає різноманітні параметри.
У найпростішій формі метода достатньо вказати ідентифікатор, назву, кількість, ціну та вагу товару, який ви хочете додати у кошик.
У найпростішій формі метода достатньо вказати ідентифікатор товару, назву, кількість, ціну та вагу товару, який ви хочете додати у кошик.
```php
Cart::add('293ad', 'Product 1', 1, 9.99, 550);
```
У якості додаткового п'ятого параметра можна задати варіанти, наприклад, щоб додати декілька одиниць з однаковим ідентифікатором, але різного розміру.
У якості додаткового п'ятого параметра можна задати додаткові опції, наприклад, щоб додати декілька одиниць з однаковим ідентифікатором, але, наприклад, різного розміру.
```php
Cart::add('293ad', 'Product 1', 1, 9.99, 550, ['size' => 'large']);
@@ -55,7 +55,7 @@ Cart::add('293ad', 'Product 1', 1, 9.99, 550, ['size' => 'large']);
**Метод `add()` повертає екземпляр CartItems того товару, який ви щойно додали у кошик.**
Можливо, вам більше до вподоби додавати товари, використовуючи масив? Якщо масив містить усі необхідні поля, ви можете передавати масив у цей метод. Поле із додатковими варіантами є необов'язковим.
Можливо, вам більше до вподоби додавати товари, використовуючи масив? Якщо масив містить усі необхідні поля, ви можете передавати масив у цей метод. Поле із додатковими опціями є необов'язковим.
```php
Cart::add(['id' => '293ad', 'name' => 'Product 1', 'qty' => 1, 'price' => 9.99, 'weight' => 550, 'options' => ['size' => 'large']]);
@@ -69,12 +69,12 @@ Cart::add(['id' => '293ad', 'name' => 'Product 1', 'qty' => 1, 'price' => 9.99,
```php
Cart::add($product, 1, ['size' => 'large']);
```
У якості додаткового параметра, ви можете додати варіанти.
У якості додаткового параметра, ви можете внести опції.
```php
Cart::add($product, 1, ['size' => 'large']);
```
Нарешті, ви також можете додавати до кошика декілька одиниць водночас. Для цього потрібно передати у `add()` масив масивів або масив Покупні, і їх буде додано в кошик.
Нарешті, ви також можете додавати до кошика декілька одиниць водночас. Для цього потрібно передати у `add()` масив масивів або масив Buyables, і їх буде додано в кошик.
**Під час додавання декількох одиниць товару в кошик, метод `add()` повертає масив CartItems.**
@@ -93,7 +93,7 @@ Cart::add([$product1, $product2]);
Щоб оновити товар у кошику, вам знадобиться ідентифікатор рядка (rowId) даного товару.
Далі ви можете скористатися методом `update()` для того, щоб оновити його.
Якщо ви просто хочете оновити кількість товару, вам потрібно передати у метод `update()` rowId і оновлену кількість:
Якщо ви просто хочете оновити кількість товару, вам необхідно передати у метод `update()` rowId і оновлену кількість:
```php
$rowId = 'da39a3ee5e6b4b0d3255bfef95601890afd80709';
@@ -132,7 +132,7 @@ Cart::get($rowId);
### Cart::content()
Звісно, вам також може знадобитися отримати інформацію про вміст кошика. Для цього вам потрібно скористатися методом `content`. Такий метод повертає колекцію CartItems, ви можете перебирати вміст такої колекції і відобразити вміст кошика для ваших клієнтів.
Вам також може знадобитися можливість отримати інформацію про вміст кошика. Для цього вам потрібно скористатися методом `content`. Такий метод повертає колекцію CartItems, ви можете перебирати вміст такої колекції і відобразити вміст кошика для ваших клієнтів.
```php
Cart::content();
@@ -329,7 +329,7 @@ $cart->setDiscount($rowId, 21);
### Buyable
Для зручності швидкого додавання товарів до кошика та їхнього автоматичної об'єднання, ваша модель повинна запустити інтерфейс `Buyable`. Ви можете застосовувати `CanBeBought` трейт для імплементації необхідних методів, але майте на увазі, що такі методи застосовуватимуть попередньо визначені поля у вашій моделі для необхідних значень.
Для зручного швидкого додавання товарів до кошика та їхнього автоматичного об'єднання, ваша модель повинна запустити інтерфейс `Buyable`. Ви можете застосовувати `CanBeBought` трейт для імплементації необхідних методів, але зверніть увагу, що такі методи застосовуватимуть попередньо визначені поля у вашій моделі для необхідних значень.
```php
<?php
namespace App\Models;
@@ -342,7 +342,7 @@ class Product extends Model implements Buyable {
}
```
Якщо трейт не працює на вашій моделі або ви хочете вручну перенести (мапувати) поля, модель повинна запустити методи інтерфейсу `Buyable`. Для цього, модель повинна умплементувати наступні функції:
Якщо трейт не працює на вашій моделі або ви хочете вручну перенести (мапувати) поля, модель повинна запустити методи інтерфейсу `Buyable`. Для цього, модель повинна імплементувати наступні функції:
```php
public function getBuyableIdentifier(){
@@ -404,7 +404,7 @@ Cart::content()->groupBy('id');
Ви можете встановити поточний екземпляр кошика через виклик `Cart::instance('newInstance')`. З цього моменту, активний екземляр кошика буде `newInstance`, тому коли ви додаєте, вилучаєте або отримуєте інформацію щодо вмісту кошика, ви працюєте з екземпляром `newInstance` кошика.
Якщо ви хочете переключитися між екзмеплярами, ви можете викликати `Cart::instance('otherInstance')` ще раз, і ви знову працюватимете з `otherInstance`.
Невеликий приклад:
Короткий приклад:
```php
Cart::instance('shopping')->add('192ao12', 'Product 1', 1, 9.99, 550);
@@ -424,7 +424,7 @@ Cart::instance('shopping')->content();
Cart::instance('wishlist')->count();
```
Ви також можете використати Контракт `InstanceIdentifier` для розширення бажаної моделі можливістю призначення / створення екземпляру Кошика (Cart) для неї. Така дія також дозволить напряму встановлювати глобальну знижку.
Ви також можете застосувати Контракт `InstanceIdentifier` для розширення бажаної моделі через призначення / створення екземпляру Кошика (Cart) для неї. Така дія також дозволить напряму встановлювати глобальну знижку.
```
<?php
@@ -472,7 +472,7 @@ $cart = Cart::instance($user);
## Моделі
Через те, що це може бути дуже зручно мати можливість прямого доступу до моделі з CartItem, виникає питання чи можливо об'єднати модель із товарами у кошику. Скажімо, у вашому застосунку є модель `Product`. Завдяки методу `associate()` ви можете вказати кошику, що товар у кошику об'єднаний з моделлю `Product`.
Через те, що можливість прямого доступу до моделі з CartItem може бути дуже зручною, виникає питання чи можливо об'єднати модель із товарами у кошику. Скажімо, у вашому застосунку є модель `Product`. Завдяки методу `associate()` ви можете вказати кошику, що товар у кошику об'єднаний з моделлю `Product`.
Таким чином ви можете отримати доступ до вашої моделі одразу з `CartItem`!
@@ -507,16 +507,16 @@ foreach(Cart::content() as $row) {
- [Збереження кошика](#storing-the-cart)
- [Відновлення кошика](#restoring-the-cart)
### Конфігурація
Для збереження кошика в базу даних, щоб ви могли отримати його пізніше, пакет повинен знати яке підключення до бази даних використовувати і яка назва окремої таблиці.
### Конфігурації
Для збереження кошика до бази даних, щоб ви могли отримати його пізніше, пакет повинен знати яке підключення до бази даних використовувати і яка назва окремої таблиці.
За замовчуванням, пакет використовуватиме підключення до бази даних, яке вказане за замовчуванням, та використовуватиме таблицію `shoppingcart`.
Якщо ви хочете змінити ці значення, вам потрібно буде опублікувати файл з конфігураціями `config`.
php artisan vendor:publish --provider="Gloudemans\Shoppingcart\ShoppingcartServiceProvider" --tag="config"
Така дія надасть вам файл з конфігураціями `cart.php`, в якому ви можете внести бажані зміни.
Така дія створить вам файл з конфігураціями `cart.php`, в якому ви можете внести бажані зміни.
Щоб спростити ваше життя, пакет також включає готову до вжитку `migration`, яку можна опублікувати через запуск настпої команди:
Щоб спростити ваше життя, пакет також включає готову до вжитку `migration`, яку можна опублікувати через запуск наступної команди:
php artisan vendor:publish --provider="Gloudemans\Shoppingcart\ShoppingcartServiceProvider" --tag="migrations"
@@ -538,25 +538,25 @@ foreach(Cart::content() as $row) {
// To restore a cart instance named 'wishlist'
Cart::instance('wishlist')->restore('username');
### Злиття кошика
Якщо ви хочете злити кошик із іншим у базі даних, вам знадобиться викликати метод `merge($identifier)`, де `$identifier` - це ключ, який ви зазначили у методі`store`. Ви також можете визначити чи хочете ви зберегти знижку і ставку оподаткування для товарів.
### Злиття кошиків
Якщо ви хочете злити кошик із іншим кошиком, збереженим у базі даних, вам знадобиться викликати метод `merge($identifier)`, де `$identifier` - це ключ, який ви зазначили у методі`store`. Ви також можете визначити чи хочете ви зберегти знижку і ставку оподаткування для товарів.
// Merge the contents of 'savedcart' into 'username'.
Cart::instance('username')->merge('savedcart', $keepDiscount, $keepTaxrate);
## Винятки
## Перехоплення
Пакет Кошик (Cart) видаватиме винятки у разі, якщо щось відбувається не за планом. Таким чином, вам буде простіше відлагоджувати (debug) ваш код, використовуючи пакет Кошик, або обробляти помилку за типом винятку. Пакети Кошика (Cart) можуть видавати наступні вийнятки:
Пакет Кошик (Cart) видаватиме винятки/перехоплення у разі, якщо щось йде не за планом. Таким чином, вам буде простіше відлагоджувати (debug) ваш код, використовуючи пакет Кошик, або обробляти помилку за типом перехоплення. Пакети Кошика можуть видавати наступні перехоплення:
| Виняток | Пояснення |
| Перехоплення | Пояснення |
| ---------------------------- | ---------------------------------------------------------------------------------- |
| *CartAlreadyStoredException* | ВинятокКошикВжеЗбережено Коли ви намагаєтеся зберегти кошик, який вже було збережено, застосовуючи вказаний ідентифікатор |
| *InvalidRowIDException* | ВинятокНеправильнийІдРядка Коли rowId, який було передано, не існує у поточному екземплярі кошика |
| *UnknownModelException* | ВинятокНевідомаМодель Коли ви намагаєтеся об'єднати неіснуючу модель до CartItem. |
| *CartAlreadyStoredException* | ПерехопленняКошикВжеЗбережено Коли ви намагаєтеся зберегти кошик, який вже було збережено, застосовуючи вказаний ідентифікатор |
| *InvalidRowIDException* | ПерехопленняНеправильнийІдРядка Коли rowId, який було передано, не існує у поточному екземплярі кошика |
| *UnknownModelException* | ПерехопленняНевідомаМодель Коли ви намагаєтеся об'єднати неіснуючу модель з CartItem. |
## Події
Кошик також має вбудовані події. Існує п'ять подій, до яких варто прислухатися.
Кошик також має вбудовані події. Існує п'ять подій, які можна очікувати.
| Подія | Видано | Параметр |
| ------------- | ---------------------------------------- | -------------------------------- |
@@ -568,7 +568,7 @@ foreach(Cart::content() as $row) {
## Приклад
Нижче невеликий приклад як відобразити вміст кошика у таблиці:
Нижче наведено приклад як відобразити вміст кошика у таблиці:
```php