# Investigate on Estore > last update: {{date: m-d}} :calendar: ###### tags: `estore`、`note` > **ref:** > :spiral_note_pad: [Eber Trail class](https://mirage-pancake-b50.notion.site/Trail-class-Magento-2-Learning-Step-8192c818af79429e90f41e938731e4fc) > :video_camera: [CMS series turtorial](https://www.youtube.com/playlist?list=PLju9v8YUzEuw-GiKO2OhTSIp0sxe2Dp5K) > :a: [Adobe Developer](https://developer.adobe.com/commerce/php/tutorials/) > :notebook: [Alan Storm note](https://alanstorm.com/category/magento-2/) >> :spiral_note_pad: [Building-a-complete-module](https://www.toptal.com/magento/magento-2-tutorial-building-a-complete-module) :::spoiler My Develope Training Plan - [Hello World Module](https://alanstorm.com/magento_2_mvvm_mvc/) ==12/1== - [Serving Frontend Files](https://alanstorm.com/magento-2-frontend-files-serving/) and [add to Module](https://alanstorm.com/magento_2_adding_frontend_files_to_your_module/) ==12/2== - [Provide CRUD Module for Database Access](https://www.thecoachsmb.com/how-to-perform-crud-operations-in-the-module-magento2/) ==12/5== - [Create a custom REST API](https://developer.adobe.com/commerce/php/tutorials/backend/create-custom-rest-api/) ==12/6== - [Understanding Object Repositories](https://alanstorm.com/magento_2_understanding_object_repositories/) ==12/7== - [Understanding Access Control List Rules](https://developer.adobe.com/commerce/php/tutorials/backend/create-access-control-list-rule/) ==12/7== - [Create Admin Menu Items](https://developer.adobe.com/commerce/php/tutorials/admin/create-admin-page/) ==12/8== - [Advanced Routing](https://alanstorm.com/magento_2_advanced_routing/) ==12/9== ::: ### Scrum note - Hi Team/ This's Vito - today Im working US paypal partical capture/refund is testing now - otherwise since the chagne about IPN status is stable sofar I would migrate the code to EU site <!-- //- stipe report on EU Processing engine --> - thats all by my side ### Development ::: spoiler cheatcode of Magento2 - php bin/magento module:status - to check the status of Modules - php bin/magento setup:upgrade - to refresh the megento's setup - php bin/magento setup:di:compile - re-run Magento compile - php bin/magento indexer:reindex - reindex all ::: - My first Module - Magento2 it’s closer to a Model, View, ViewModel (MVVM) system - Page → Container - Conponent → ==Block== - ==Block== is render by '.phtml' - phtml ←→ ViewModel - Cacahe Clean - bin/magento cache:clean - (GUI) System -> Cache Management - (deleting the server cache files) PATH `var/cache/` - (in production) may have to delete `var/generate` > rm -rf /path/to/magento/var/generation/* > rm -rf /path/to/magento/var/cache/* - folder sturcture ``` - app └- code └- ModuleNamespaceA |└- ModuleA | └- etc | |└- model.xml | └- registration.php └-- ModuleB └-- etc |└- model.xml └- registration.php - to enable your module - with code - *etc/config.php* ``` ModuleNamespaceA_ModuleA => 1, ModuleNamespaceA_ModuleB => 1 ``` - with CMS - `Stores -> Configuration -> Advanced -> Advanced -> Disable Modules Output` - Adding route to the controller - turn off the page cache - System -> Cache Management, Page Cache → “Disable” - `rm -rf var/page_cache` - set `routes.xml` ``` <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../lib/internal/Magento/Framework/App/etc/routes.xsd"> <router id="standard"> <route id="same_as_route_path_in_REST_url" frontName="route_path_in_REST_url"> <module name="module_name" /> </route> </router> </config> - `<router id="standard">` - `standard` - for frontent route - `admin` - for admin route - `frontName="route_path_in_REST_url">` - the specific uri are using - http://magento.example.com/hello_mvvm/* - `id="same_as_route_path_in_REST_url"` for magento identify modules, pls be same as frontName for convention :::danger 12/01 status TreviPay\TreviPayMagento\Gateway\Http\Client\AbstractTransaction" not found#0 /var/www/html/vendor/composer/ClassLoader.php(571): include() ::: ## Service - Notification (Email sending) - setting: - STRORES > Configuration > ADVANCED > System > Mail Sending Settings > Disable Email Communications - ==Yes== to Disable - ==No== to Enable - ![](https://i.imgur.com/bF9hlwh.png) - reCAPTCHA ([google recaptcha](https://www.google.com/recaptcha/admin/create)) - is that mamange by [mageplaza](https://www.mageplaza.com/blog/how-to-add-google-recaptcha-into-magento-2.html)? - should it register by my account or there is fromal testing one - disable login recaptcha in dev env - {Stores/ Configuration/ Security/ Storefront} - disable for Customer Login: No - if want to open it follow [link](https://fog-wildflower-eac.notion.site/6237e4885be14b1bada1675285fcd383) - SSO login - disable login recaptcha in dev env - {Stores/ Configuration/ SMC/ SSO Setting} - Enable SSO ?: No - Stripe - its a third-perty payment - [test payment info](https://stripe.com/docs/testing#cards) - webhook not been conifg([doc](https://stripe.com/docs/webhooks/go-live)) - seems be use for notify estore as payment charged - should it register by my account or there is fromal testing one? - Merchandising - query production - catagory porduction - build production landing page ## CMS - catelog - product - Category - display in - static - product lidt - both - anchor - filtere with product - 更改order status 流程 - credit memo - Sales/ Order - invoice - credit memo > eStore- order for credit memo 筆記 ## Tool - using git svn to do version control, [ref doc](https://ithelp.ithome.com.tw/articles/10185625) - note - ==git svn pull {SVN SERVER RUL}== - git checkout -b {BRANCH NAME} - name style: {git/svn}-{branch name}-{brach from} - i.e. svn-oAuth-master、git-fixTypo-newfeature - git commit -a -m "{COMMENT}" - git checkout svn-master - git merge {BRANCH NAME} - ==git svn rebase== - ==git svn commit== - except the fist and last two command, feel free to enjoy the feature of git