Vue Storefront: Magento 2 рд╕реЗ рдЖрдпрд╛рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛

рдЕрдВрдд рдореЗрдВ, рдореИрдВ Vue Storefront (VSF) рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ Magento (рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдФрд░ рдЙрддреНрдкрд╛рджреЛрдВ) рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪреМрдерд╛ рд▓реЗрдЦ ( 1 , 2 , 3 ) рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдореИрдВ Magento 2 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╕реНрдЯреЛрд░ рдХреЗ рд╕рд╛рде VSF рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдкрд╣рд▓рд╛ рдЬрд╣рд╛рдВ Magento рдХрд╛ рдбреЗрдЯрд╛ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдлрд┐рд╕рд▓ рдЧрдпрд╛ред


KDPV


рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ рддреИрдирд╛рддреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЪрд░рдгреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдбрд╝реА рд╣реИред


рд▓рдХреНрд╖реНрдп


Magento рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╢реНрд░реЗрдгрд┐рдпреЛрдВ / рдЙрддреНрдкрд╛рджреЛрдВ рдкрд░ рдЧреНрд░рд╛рд╣рдХ рднрд╛рдЧ рдбреЗрдЯрд╛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред


shemka


рдЕрдм рдЖрд╡реЗрджрди рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЬрд╛рддреА рд╣реИрдВ:


shemka


рдХрд╛рдо рдХрд╛ рдорд╛рд╣реМрд▓


рдореМрдЬреВрджрд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдореЗрдВ, рдореИрдВрдиреЗ рдлрд┐рд░ рд╕реЗ рдПрдХреНрд╕реЛрд╕реНрдХреЗрд▓ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рд▓рд┐рдирдХреНрд╕ рдЙрдмрдВрдЯреВ 18.04 рдПрд▓рдЯреАрдПрд╕ 64-рдмрд┐рдЯ рд╕рд░реНрд╡рд░ (2x 2198 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рд╕реАрдкреАрдпреВ, 4 рдЬреАрдмреА рд░реИрдо, 10 рдЬреАрдмреА рдбрд┐рд╕реНрдХ) рдХреЗ рдордзреНрдпрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред


рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ


рдореИрдВ рдПрдХ рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЖрд╡реЗрджрди рдШрдЯрдХреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рд▓рддрд╛ рд╣реВрдВ : flancer64 / vsf_mage2_setup ред


рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЪрд░рдг:


  1. рдПрдХ рдЦрд╛рд▓реА OS рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛, рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ (рдПрд▓рд╛рд╕реНрдЯрд┐рд╕рд░реНрдЪ, рд░реЗрдбрд┐рд╕, рдпрд╛рд░реНрди, ...) ред
  2. vue-storefront ред
  3. vue-storefront-api ред
  4. mage2vuestorefront ред
  5. Magento 2 рд╕реЗ VSF рддрдХ рдбреЗрдЯрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ ред

рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди


рдЗрд╕ рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:


 #!/usr/bin/env bash # ========================================================================= # Local configuration template. # Copy this file to `./cfg.local.sh`. # ========================================================================= export HOST_VSF="255.255.255.255" # ip address or domain name for VSF host (VSF Front/API, Elasticsearch & Redis) export HOST_MAGE="mage2.host.com" # ip address or domain name for Magento 2 host # address of REST API of source Magento instance export URL_MAGE_REST="http://${HOST_MAGE}/rest" export URL_MAGE_IMG="http://${HOST_MAGE}/media/catalog/product" export INDEX_NAME="vue_storefront_catalog" # Magento integration options # see: "How to integrate Magento2 with your local instance?" # at: https://medium.com/the-vue-storefront-journal/vue-storefront-how-to-install-and-integrate-with-magento2-227767dd65b2 export MAGE_CONSUMER_KEY="..." export MAGE_CONSUMER_SECRET="..." export MAGE_ACCESS_TOKEN="..." export MAGE_ACCESS_TOKEN_SECRET="..." export MAGE_CURRENCY_CODE="..." 

рдЖрд╡реЗрджрди рдкрд░рд┐рдирд┐рдпреЛрдЬрди


рдореИрдВ рдПрдХ рд╕рд╛рдл рд╣реЛрд╕реНрдЯ рдкрд░ рдШрдЯрдХреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреНрд▓реЛрди рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╕реНрдерд╛рдиреАрдп рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ:


 $ cd ~ $ git clone https://github.com/flancer64/vsf_mage2_setup.git $ cd vsf_mage2_setup/ $ cp cfg.init.sh cfg.local.sh $ nano cfg.local.sh ... 

рдЙрд╕рдХреЗ рдмрд╛рдж рдореИрдВ рдкрд╣рд▓реА рд╕реЗ рдЪреМрдереА рддрдХ рддреИрдирд╛рддреА рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ:


 $ cd ~/vsf_mage2_setup/ $ bash ./bin/step01_env.sh $ bash ./bin/step02_vsf_front.sh $ bash ./bin/step03_vsf_api.sh $ bash ./bin/step04_mage2vsf.sh 

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ github'e рдкрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдШрдЯрдХреЛрдВ рдХреЛ рдПрдХ рдЦрд╛рд▓реА рд╣реЛрд╕реНрдЯ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:


  • Elasticsearch
  • Redis
  • Vue-рд╕реНрдЯреЛрд░ рдХреЗ рд╕рд╛рдордиреЗ
  • Vue-рд╕реНрдЯреЛрд░ рдХреЗ рд╕рд╛рдордиреЗ-api
  • mage2vuestorefront

рдШрдЯрдХ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЛ рдЙрдкрдпреБрдХреНрдд рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред


Magento2 рдбреЗрдЯрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ => рд╡реАрдПрд╕рдПрдл


рдЪреМрдереЗ рдЪрд░рдг рдореЗрдВ, рдПрдХ рдбреЗрдЯрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ ~/mage2vuestorefront/src/run.sh ред рдореИрдВ рдЗрд╕реЗ рд╕рдВрдкреВрд░реНрдгрддрд╛ рдореЗрдВ рджреЗрддрд╛ рд╣реВрдВ (рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде):


 #!/usr/bin/env/bash # Exit immediately if a command exits with a non-zero status. set -e ROOT=$(cd "$(dirname "$0")/" && pwd) export TIME_TO_EXIT="2000" # Setup connection to Magento export MAGENTO_CONSUMER_KEY="87...20l" export MAGENTO_CONSUMER_SECRET="7f...95x" export MAGENTO_ACCESS_TOKEN="ox...lq3" export MAGENTO_ACCESS_TOKEN_SECRET="5d...6o0" # Setup default store export MAGENTO_URL="http://mage2.host.com/rest" export INDEX_NAME="vue_storefront_catalog" # Perform data replications node --harmony ${ROOT}/cli.js taxrule --removeNonExistent=true node --harmony ${ROOT}/cli.js attributes --removeNonExistent=true node --harmony ${ROOT}/cli.js categories --removeNonExistent=true node --harmony ${ROOT}/cli.js productcategories node --harmony ${ROOT}/cli.js products --removeNonExistent=true 

рдбреЗрдЯрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐


рд╕реНрдХреНрд░рд┐рдкреНрдЯ ./bin/step05_sync_data.sh :


 #!/usr/bin/env/bash ## ************************************************************************ # Script to synchronize data between Magento2 and VSF. ## ************************************************************************ # shellcheck disable=SC1090 # root directory (set before or relative to the current shell script) DIR_ROOT=${DIR_ROOT:=$(cd "$(dirname "$0")/../" && pwd)} # Exit immediately if a command exits with a non-zero status. set -e echo "========================================================================" echo "Read local configuration." echo "========================================================================" . "${DIR_ROOT}/cfg.local.sh" echo "========================================================================" echo "Rebuild indexes and get data from Elasticsearch." echo "========================================================================" cd ~/mage2vuestorefront/src bash run.sh echo "========================================================================" echo "Reconfigure VSF API." echo "========================================================================" cd ~/vue-storefront-api rm -f ./var/catalog.json npm run dump npm run db rebuild -- --indexName="${INDEX_NAME}" 

~/mage2vuestorefront/src/run.sh рд╡реЗрдм рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ ~/mage2vuestorefront/src/run.sh 2 рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдЬрд▓реНрджреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╡реАрдПрд╕рдПрдл рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ ( рдореИрдЧреЗрдВрдЯреЛ 2-vsbridge-indexer ), рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ ред


Magento 2 рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ Elasticsearch рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ VSF API рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


рдпрд╣ рд╕рдм рдЗрд╕ рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:


 $ cd ~/vsf_mage2_setup/ $ bash ./bin/step05_sync_data.sh 

рдирд┐рд╖реНрдХрд░реНрд╖


рдЦреИрд░, рдореИрдЧреЗрдВрдЯреЛ рдХреА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдФрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ рд╡реАрдПрд╕рдПрдл рдПрдкреНрд▓рд┐рдХреЗрд╢рди "рдШреБрд╕рдкреИрда" рд╣реИред рдЕрдм рдЖрдкрдХреЛ рд░рд┐рд╡рд░реНрд╕ рдЖрдВрджреЛрд▓рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рддрд╛рдХрд┐ рд╡реАрдПрд╕рдПрдл (рдЯреЛрдХрд░реА, рдСрд░реНрдбрд░) рд╕реЗ рдбреЗрдЯрд╛ рдореИрдЧреЗрдВрдЯреЛ 2 рдореЗрдВ рдорд┐рд▓ рдЬрд╛рдП рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдореИрдЧреЗрдВрдЯреЛ 2 рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдЧреНрд░рд╛рд╣рдХ рднреА рд╡реАрдПрд╕рдПрдл рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рд╕рдВрджрд░реНрдн


Source: https://habr.com/ru/post/hi478544/


All Articles