davidroberto / sylius-extra-api-plugin
增强Sylius API,添加新端点等
dev-release/v1.0.0
2021-08-27 10:03 UTC
Requires
- php: ^7.3
- nelmio/cors-bundle: ^2.1
- sylius/sylius: ~1.8.0 || ~1.9.0
Requires (Dev)
- behat/behat: ^3.6.1
- behat/mink-selenium2-driver: ^1.4
- dmore/behat-chrome-extension: ^1.3
- dmore/chrome-mink-driver: ^2.7
- friends-of-behat/mink: ^1.8
- friends-of-behat/mink-browserkit-driver: ^1.4
- friends-of-behat/mink-extension: ^2.4
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.0
- friends-of-behat/symfony-extension: ^2.1
- friends-of-behat/variadic-extension: ^1.3
- friendsofsymfony/oauth-server-bundle: ^1.6 || >2.0.0-alpha.0 ^2.0@dev
- lakion/mink-debug-extension: ^2.0.0
- phpspec/phpspec: ^7.0
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: 0.12.74
- phpstan/phpstan-doctrine: 0.12.31
- phpstan/phpstan-strict-rules: ^0.12.0
- phpstan/phpstan-webmozart-assert: 0.12.12
- phpunit/phpunit: ^9.5
- sensiolabs/security-checker: ^6.0
- sylius-labs/coding-standard: ^3.1
- symfony/browser-kit: ^4.4 || ^5.2
- symfony/debug-bundle: ^4.4 || ^5.2
- symfony/dotenv: ^4.4 || ^5.2
- symfony/intl: ^4.4 || ^5.2
- symfony/web-profiler-bundle: ^4.4 || ^5.2
- vimeo/psalm: 4.4.1
Conflicts
- api-platform/core: ^2.6
This package is not auto-updated.
Last update: 2024-09-22 09:13:34 UTC
README
扩展Sylius新API的插件:通过slug查找产品,搜索产品,添加Stripe网关...
如果您使用sylius next.js脚手架(https://github.com/davidroberto/sylius-next-boilerplate-theme),则此插件是必须的。这是第一个版本,因此有很多改进、错误修复等空间!
composer require davidroberto/sylius-extra-api-plugin
安装和配置Sylius API
- 安装Sylius(https://docs.sylius.com/en/1.9/book/installation/installation.html)
- 安装Sylius Extra API插件: https://github.com/davidroberto/SyliusExtraApiPlugin
- 在您的config/packages文件中创建一个davidroberto_sylius_extra_plugin.yaml文件,并将插件配置文件导入其中
imports:
- { resource: "@DavidRobertoSyliusExtraApiPlugin/Resources/app/config.yml" }
- 如果您想使用Stripe,在您的Stripe账户中创建一个新的"payment_intent.succeeded钩子",调用此URL(将域名替换为您的域名):https://yourSyliusAPIDomainName/api/v2/shop/payments/stripe/notify/success
- 将以下环境变量添加到您的.env.local文件中
# your stripe secret key
STRIPE_SECRET_KEY=sk_test_51IWnwaGhkxw8ABpLx60ZYzWcq2ffcxLkDaFPtZULJtBDyjQgOnaTHABSCzzIrbEL34EnJj5eVPRZBDAjDC4mpTaV00KAZYhe3n
# your stripe payment_intent.succeeded webhook secret key
STRIPE_SUCCESS_ENDPOINT_SECRET_KEY=whsec_3jwQgifKzj8TKoOQGwASPdEdPbPvgxvq
# the Next.js front end URL
CLIENT_URL=
# the front end url for the stripe payment success (by default "https://yourNextBoilerPlateThemeDomainName/cart/confirmation")
CLIENT_URL_PAYMENT_SUCCESS=
# the front end url for the stripe payment failure (by default "https://yourNextBoilerPlateThemeDomainName/cart/failed")
CLIENT_URL_PAYMENT_FAILED=
-
配置nelmio cors bundle以匹配您的next js前端URL。
-
在您的管理界面中,在"渠道"部分,设置以下值:-- "忽略仅存在一个运输方式时的运输选择步骤":TRUE -- "忽略仅存在一个支付方式时的支付选择步骤":TRUE -- "账户验证是强制性的":FALSE
-
在您的管理界面中,对于每个产品,将"变体选择方法"设置为"变体选择"。
-
该插件依赖于Nelmio Cors Bundle。因此,您需要将其与您的next js前端URL匹配(https://github.com/nelmio/NelmioCorsBundle)
重要
- 主题尚未很好地与包含斜杠的分税类slug协同工作,因此如果您想测试主题,请将其删除。
- 根据您的nelmio cors配置,如果您的本地Sylius API URL使用https,则主题可能无法执行fetch请求。您可以使用http(仅限localhost)来修复它。
- 此主题仅使用一种支付方式和一种运输方式创建。因此,如果您想测试主题,请保留一个支付方式和一种运输方式。如果您有多个,您必须自己实现选择逻辑。
安装和配置next.js脚手架主题
- 克隆此存储库
- 将.env变量填充到.env.local文件中
# Your Sylius API URL. Exemple: "https://yourSyliusAPIDomainName/api/v2/"
NEXT_PUBLIC_API_RESOURCE_BASE_URL=
# Your Sylius API base URL (without the /api/v2). Exemple: "https://yourSyliusAPIDomainName")
NEXT_PUBLIC_API_PUBLIC_URL=
# Your Sylius API Hostname (without the protocol). Exemple: "yourSyliusAPIDomainName"
API_HOST_NAME=
# your stripe public key
NEXT_PUBLIC_STRIPE_PUBLIC_KEY=
# Your Mailchimp Newsletter Form Action URL
MAILCHIMP_URL=
- 安装依赖项
yarn install
- 如果需要,在lib/config/locales.ts中更改默认区域设置
- 启动本地开发服务器
yarn dev
- 完成!您可以浏览您的商店了!