Към съдържанието

Инсталация

Изисквания

heading.anchorLabel
  • Magento 2 / Adobe Commerce с PHP съвместим с модула (използва typed class constants — PHP 8.3+).
  • Инсталиран и активен модул Webcode_Carrier (общата основа). StorePickup го изисква и се зарежда след него (sequence).
  • Общият слой за адресни атрибути от Webcode_CustomerAddress (използва се от etc/di.xml за side-table persist/load на store_pickup_id).

Зависимостите от composer.json:

"require": {
"magento/framework": "*",
"webcode/module-carrier": "*",
"magento/module-quote": "*",
"magento/module-catalog-inventory": "*",
"magento/module-checkout": "*",
"magento/module-customer": "*",
"magento/module-sales": "*",
"magento/module-directory": "*",
"magento/module-config": "*",
"magento/module-eav": "*",
"magento/module-payment": "*",
"magento/module-shipping": "*",
"magento/module-sales-rule": "*"
}

Инсталиране

heading.anchorLabel
Terminal window
composer require webcode/module-store-pickup
bin/magento module:enable Webcode_StorePickup
bin/magento setup:upgrade
bin/magento setup:di:compile # при production режим
bin/magento setup:static-content:deploy bg_BG # или вашите локали
bin/magento cache:flush

Какво прави setup:upgrade

heading.anchorLabel
  • Създава таблицата webcode_store_pickup (локации на магазини) с външен ключ към webcode_directory_city (etc/db_schema.xml).
  • Добавя колона store_pickup_id към webcode_quote_address и webcode_order_address (мигрира данни от старите webcode_carrier_* таблици).
  • Изпълнява data patch-а Webcode\StorePickup\Setup\Patch\Data\AddStorePickupIdCustomerAddressAttribute, който добавя EAV адресен атрибут store_pickup_id към адресите на клиента (видим в формите adminhtml_checkout, adminhtml_customer_address, customer_address_edit, customer_register_address).

Проверка

heading.anchorLabel
Terminal window
bin/magento module:status Webcode_StorePickup

След това в админ панела трябва да е налична секцията Stores → Configuration → Sales → Delivery Methods → Store Pickup (виж Конфигурация).

Hyva Checkout

heading.anchorLabel

Ако темата ви е базирана на Hyva Checkout, инсталирайте допълнително спътниковия модул Webcode_StorePickupHyva (webcode/module-store-pickup-hyva). За класически checkout той не е необходим.

Деинсталиране

heading.anchorLabel

Data patch-ът има revert(), който премахва EAV атрибута store_pickup_id при изчистване на модула:

Terminal window
bin/magento module:disable Webcode_StorePickup