# 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
- 
- 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